C++中的Const和Static
声明一个类:
Class Time
{
Public:
Void Timer(int, int, int);
Int Hour;
Int Min;
Int Sec;
Void GetTime();
};
1.常对象:凡是希望数据成员不被改变的对象。
Time const t1(10, 26, 30);
const Timer t1(10, 26, 30);
常对象,不能调用该对象的非Const型的成员函数。
只能将函数声明为const(常成员函数),才能调用。
Void GetTime() const; //将函数声明为const。
常成员函数可以访问常对象中的数据成员,但是不允许修改常对象中的数据成员的值。
2.常数据成员:用法与一般变量相似。
只能通过构造函数的参数初始化表对常数据成员进行初始化。
Const int Hour;
Time :: Time(int h):hour(h){};
3.常成员函数:只能引用本类中的数据成员,而不能修改它们。
Void GetTime() const;
常成员函数不能调用另一个非const成员函数。
4.静态数据成员:
Static Int Hour;
如果想在多个对象之间共享变量,静态成员变量可以代替全局变量。
静态数据成员只能在类体外初始化:
Int Time::Hour = 11;
5.静态成员函数:
C++中,静态成员函数主要用来访问静态数据成员,而不能访问非静态成员。
静态成员函数和普通成员函数的区别,就是静态成员函数没有This指针,这也是它不能访问非静态成员函数的 原因。