当前位置: 首页 > 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.hskmm.com/?act=detail&tid=35354

相关文章:

  • 2025/10/20~2025/?/? 做题笔记 - sb
  • 10-20 Extra-Problem 总结
  • ansible底层文件传输机制中默认模式遇到权限拒绝后启用管道模式可以得到解决
  • 10月20日记
  • Rust 编译加速的最佳实践
  • 20232304 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 笔记本 光驱 的内部结构及用法: 应急强大的系统启动 (恢复) 光盘 (DVD+R/RW)
  • Android 源码解析系列1- Android init 进程启动流程
  • 分层图
  • 10.20总结
  • 学习相关
  • 题解:Luogu P10644 [NordicOI 2022] 能源网格 Power Grid
  • 题解:Luogu P10004 [集训队互测 2023] Permutation Counting 2
  • 题解:Luogu P2075 区间 LIS
  • 英语_阅读_2050 Space tourism_待读
  • goframe框架命令行工具gf在zsh下不能用
  • 题解:Luogu P4143 采集矿石
  • 从18w到1600w播放量,我的一点思考。
  • 扣一个细节问题
  • 10.20java作业
  • 题解:Luogu P14175 【MX-X23-T5】向死存魏
  • 题解:Luogu P14254 分割(divide)
  • 题解:Luogu P6898 [ICPC 2014 WF] Metal Processing Plant
  • 20251020
  • 32-腾讯IM接入资料和定价
  • 题解:AtCoder ARC207A Affinity for Artifacts
  • 构造单
  • [笔记]高斯消元
  • 半导体设备各细分领域的国内外龙头公司
  • CSP-S 34