1)可以访问所有成员变量,但是不能修改,此类成员函数又称“常成员函数“。
2)声明或实现时必须在函数的结尾加上const,而不是在函数的开头。
int GetAge() const ///在结尾加
{
m_age = 10; //会报错,不能进行修改
return m_age;
}
常对象
1)常对象只能访问常成员函数,常成员变量和普通成员变量都可以访问。
using namespace std;
class Parent
{
public:
const int m_age;
int m_score;
Parent(int age):m_age(age) //const成员变量通过初始化参数列表初始化,值不可再修改
{
m_score = 10;
}
void Show() const //可以访问const成员变量和普通成员变量,但是不可以修改
{
cout << m_age << endl;
cout << m_score << endl;
//m_age = 19; //会报错
}
};
int main()
{
const Parent P(1); //常对象,只能访问const成员函数,不能访问普通成员函数
P.Show();
cout << P.m_age << endl; //普通成员变量和常成员函数都可以访问
cout << P.m_score << endl;
while(1);
return 0;
}
在VS2010中const常对象访问const成员变量是可以实现的,但是,,存疑