C++中的Const和Static

来源:互联网 发布:python思想 编辑:程序博客网 时间:2024/05/29 16:29

C++中的ConstStatic

声明一个类:

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指针,这也是它不能访问非静态成员函数的 原因。