C++中的Static关键字
来源:互联网 发布:淘宝怎么实名认证激活 编辑:程序博客网 时间:2024/06/03 21:12
一、静态数据成员&静态成员函数的定义:
1为静态成员函数,2为静态数据成员
静态数据成员s_iCount并不依赖对象而依赖类(没有实例化对象的时候这个静态数据成员就存在),它的实例化不在构造函数中进行,而是单独进行(最下面红色的那一行)。
二、访问静态成员函数和静态数据成员的两种方式:
注:因为静态的函数和数据成员不依赖于类,所以可以用类名直接访问,也可以通过对象来访问
三、
静态成员函数不可以调用普通的数据成员,只能调用静态数据成员,静态成员函数和静态数据成员随类的产生而产生,也就是依赖于类,而普通的数据成员是依赖于对象的,如果一个对象都不产生,那么在静态成员函数中调用普通数据成员显然是会失败的。
原理上讲:定义普通的函数Fire()和静态的函数getCount(),fire()实际上传了一个隐形的this指针,可以知道当前调用的是哪一个对象对应的数据成员。调用静态数据成员s_iCount时,因为和类相关和对象无关,有没有this无所谓
静态的getCount()并不会传入一个隐形的指针没办法调用,怎么知道调用的数据成员是哪一个对象的数据成员呢?所以无法调用非静态的数据成员或者成员函数;但可以调用静态的数据成员(可以看成全局的数据)
四、总结
静态数据成员必须单独初始化
静态成员函数不能调用非静态成员函数和非静态数据成员
静态数据成员只有一份,且不依赖对象而存在
0 0
- C 中的static关键字
- C/C 中的static关键字
- C/C++中的static关键字
- C语言中的static关键字
- C/C++中的static关键字
- C语言中的static关键字
- C语言中的关键字 static
- C语言中的static关键字
- C/C++中的static关键字
- C语言中的static关键字
- C/C++中的static关键字
- 【C++】:C++中的static关键字
- c 语言中的关键字static
- C/C++中的关键字static
- C中的static 关键字用法小结
- c语言中的static和extern关键字
- [ZZ]C语言中的static关键字总结
- C和C++中的static关键字小结
- Xcode7适配iOS9遇到的一些问题及解决办法
- Linux free命令
- Android--Intent常用(拨号,浏览器,联系人,Wi-Fi)
- iOS数据库使用(sqlite3)
- LightOJ 1259 Goldbach`s Conjecture
- C++中的Static关键字
- A UML Model for Mobile Game on the Android OS
- 虚基类
- maryland上安装opencv
- 使用PHP生成二维码的两种方法(带logo图像)
- 机器学习算法总览——思维导图
- 数据库(sqlite3)项目实际应用
- 最少找零问题与完全背包模型的一点思考
- Letter Combinations of a Phone Number