一、const成员函数
将const加载函数的括号后面,称为const成员函数,就像尽可能将const引用和指针用作函数形参一样,只要类方法不修改调用对象,应将其声明为const。否则,当函数无法确保调用const对象不被修改,编译器将拒绝该函数。形如:
声明:
void show() const;
函数定义的函数头:
void Stock::show() const
二、作用域为类的常量
在类中声明作用域为类的成员,例如
static const int Months = 12;
此时Months常量与其它静态变量存储在一起,属于类本身,为所有对象共享。无论创建多少个对象,程序都只创建一个静态类变量副本。不能省去static,因为类声明并不创建对象,没有存储空间,没法存储成员值。
当然还有另一种方法是使用enum:
enum { Months = 12 };
其也只是在类声明中,并没有创建类数据成员,只是声明一个符号名称,相当于define。
新闻热点
疑难解答