const

const 指针:Screen * const s1;能改变指针所指向的值,但不能改变指针所保存的地址。

在非const成员函数中,this的类型是一个指向类类型的const指针,在const成员函数中,this的类型是一个指向const类类型对象的const指针。在const成员函数中只能返回*this作为一个const引用。

常对像就只能调用常成员函数,而非常对象就都可以调用。 

 2、注意:* 常对象的数据成员必须是常变量,而且必须要有初值。
             * 常对象只能调用其常(const型)成员函数,不能调用非const型成员函数。而常成员
函数可以访问常对象数据成员,但不能修改。
             * 常对象只是其数据成员是const型的,它的成员函数可以是const型或非const型。
             * 常对象的数据成员只能引用,不可修改,如果一定要修改,可将需要修改的数据成员
声明为mutable;如:mutable int count;

 

对常数据成员的初始化必须要用构造函数的初始化列表来完成。

常成员函数可以引用const或非const型数据成员,但只能引用,不可修改。
常成员函数不能调用另一个非const型成员函数

原文地址:https://www.cnblogs.com/relaxgirl/p/3571078.html