const A a(1); A const a(1);
#include <iostream> using namespace std; class a { public: void fun() const; }; //注意:定义时要与声明一致,即别漏了const void a::fun() const { cout << "test" << endl; } int main() { //常成员函数既可以被常对象调用,也可以被非常对象调用 a a1; a1.fun(); //常对象 const a a2; a2.fun(); }
class a { public: void f2(const int &d) { data = d; } private: int data; };
值不能改变。
只能通过构造函数的参数初始化表对常数据成员进行初始化
C++中的常对象和常对象成员