当前位置: 首页 > news >正文

C++在类定义内的函数包含static代表什么含义呢?

在类定义内的函数包含static代表什么含义呢?
 
 
 

在类定义内使用 static 关键字修饰成员函数有特殊的含义,它表示这是一个静态成员函数

静态成员函数的特点

1. 不依赖于类的实例

class MyClass {
public:static void staticFunc() { }    // 静态函数void normalFunc() { }          // 普通成员函数
};// 使用方式
MyClass::staticFunc();    // ✅ 直接通过类名调用,无需创建对象MyClass obj;
obj.normalFunc();         // ✅ 需要通过对象调用
MyClass::normalFunc();    // ❌ 错误!普通成员函数不能这样调用

2. 没有 this 指针

class Calculator {
public:static int add(int a, int b) {// 这里没有 this 指针,不能访问非静态成员return a + b;}int multiply(int a, int b) {return a * b;// 这里隐式有 this 指针}
};

3. 只能访问静态成员

class NetworkParser {
private:static int packetCount;        // 静态成员变量int instanceData;              // 普通成员变量public:static void parsePacket() {packetCount++;            // ✅ 可以访问静态成员// instanceData = 10;     // ❌ 错误!不能访问非静态成员}void normalMethod() {packetCount++;            // ✅ 可以访问静态成员instanceData = 10;        // ✅ 可以访问非静态成员}
};// 静态成员变量需要在类外定义
int NetworkParser::packetCount = 0;
http://www.gsyq.cn/news/25720.html

相关文章:

  • 2025/10/20~2025/?/? 做题笔记 - sb
  • ansible底层文件传输机制中默认模式遇到权限拒绝后启用管道模式可以得到解决
  • Android 源码解析系列1- Android init 进程启动流程
  • 2025.10.20总结
  • goframe框架命令行工具gf在zsh下不能用
  • 从18w到1600w播放量,我的一点思考。
  • 10.20java作业
  • 题解:Luogu P14175 【MX-X23-T5】向死存魏
  • 31_创蓝短信接入资料和定价
  • CSP-S 33
  • 10.20每日总结
  • 后缀树
  • CF1606E Arena 题解(动态规划)
  • 正睿 2025 NOIP20 连测 Day5 做题记录
  • CSP-S 20
  • Flutter应用设置插件 - 轻松打开iOS和Android系统设置
  • CSP-S 22
  • /usr/bin/sudo 二进制文件的权限有问题,导致所有用户都无法使用 sudo
  • CSP-S 19
  • 研1转码自学黑马程序员Python第7天 | Python函数知识 - 指南
  • 从C10K到Reactor:事件驱动,如何重塑高并发服务器的网络架构
  • 数据范围
  • CF2107E Ain and Apple Tree
  • 2025,为什么公众号编辑器排版决定阅读完成率?——一次从流程到结果的深评
  • P14262 [ROI 2015 Day1] 自动好友
  • win10 升级 win11 后时间更新失败
  • Hands on Deep Learning Chapter 3 线性神经网络
  • 超越技术范畴:低代码如何重塑企业数字文化
  • 详细介绍:1、手把手教你入门设计半桥LLC开关电源设计,LLC谐振腔器件计算
  • 十六天