C++静态
来源:互联网 发布:网络方案 编辑:程序博客网 时间:2024/06/04 19:42
C++中的静态,两个概念静态数据成员和静态成员函数。
静态数据成员依赖于类,而不依赖于对象,也就是说即使不实例化对象,但作为一个静态数据成员,在内存中也存在,普通的数据成员不实例化就不存在。如以下例子
class Tank{public:Tank(){ s_iCount++; }//产生新坦克,则坦克数增多~Tank(){ s_iCount--; }static int getCount(){ return s_iCount; }//静态成员函数static int s_iCount; //静态数据成员,记录了我方坦克的数量private:string m_strCode;};int Tank::s_iCount = 0;//不需要再加关键字static
静态数据成员有两种访问途径。
int main(){cout << Tank::getCount() << endl;//直接访问cout << Tank::s_iCount << endl;Tank tank;cout << tank.getCount() << endl;//通过对象访问cout << tank.s_iCount << endl;return 0;}
静态函数不能调用非静态的成员,因为static成员一直存在,但是如果没有实例化的话,就无法调用非静态的成员。
静态数据成员注意事项:
1. 要单独初始化;
2. 静态成员函数不能调用非静态成员和非静态函数;
2. 静态成员只有一份,不依赖对象而存在。
静态函数能不能加const呢?
答案是不能,因为const修饰的是this指针,静态函数根本没有this指针,所以不可能使用。
0 0
- 静态(C#)
- C#:静态与非静态
- C++: 静态调用
- C++_静态成员
- c 静态库
- C中的静态变量
- 安装C静态库
- C中的静态库
- C#:静态构造函数
- c静态函数
- C++_静态成员
- C/C++静态变量
- C语言静态函数
- [C++] 静态变量基本知识
- C 静态变量
- C语言静态函数
- C++_静态成员
- 静态查找_Search.c
- 机器学习实战(一)——kNN算法
- 深度学习与计算机视觉(11)_基于deep learning的快速图像检索系统
- JAVA测试题
- git commit ammend 修改已经提交的注释
- 关闭百度推荐搜索工具条的方法。。
- C++静态
- java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind 【 解决方案】
- http post get请求
- 算法导论编程第2章 插入排序
- Fragment 的hide()与show()
- arduino 控制led灯亮度强弱变化的经典代码
- 字符串是否互为旋转
- mysql5.6.25及以上下载衔接
- FTxxxx系列------selftest