内存中的存储空间主要分为三个部分:
(1)程序区
(2)静态存储区
(3)动态存储区
1. static
1.1. 静态数据成员
- 使用目的:一个全局变量的替代品;
- 储存在静态存储区;
- 只能在类体外进行初始化
如:int Box::height = 10;
- 公共静态数据成员的使用
如:cout << Box ::height << endl;
或Box b; cout << b.height << endl;
- 私有数据成员不能在类外直接引用,而必须通过公共的成员函数引用。
1.2. 静态成员函数
- 其作用是为了处理静态数据成员;
- 静态成员函数不属于某一对象,无法对对象中的非静态成员进行默认访问;
2. const
、
2.1. 在类中公共数据保护
类型 | 形式 | 说明 |
---|---|---|
常对象 | const Time t1(12, 13, 46) | 1. 必须有初值;2. 只能调用它的常成员函数; |
常对象成员-常数据成员 | const in hour | 值不能改变,,只能通过构造函数初始化赋值Time::Time(int h):hour(h){} |
常对象成员-常成员函数 | void get_time() const; | 1. 引用本类中数据成员,不能修改它们; 2.不能调用非const成员函数 |
参考:谭浩强,《c++面向对象程序设计》,P90