定数関数
1.メンバー関数の後にconstを追加した後、この関数を定数関数と呼びます。
2.通常の関数でメンバー属性を変更することはできません。
3.メンバー属性宣言に変更可能なキーワードを追加した後でも、通常の関数で変更できます
。4 。宣言オブジェクトの前にconstを追加して、オブジェクトを通常のオブジェクトと呼びます。
5.定数オブジェクトは定数関数のみを呼び出すことができます。
コードは次のとおりです。
class Person
{
public:
void showPerson() const
{
//this->m_A = 100;
this->m_B = 100;
//this = NULL;
}
void func(){
}
int m_A=100;
mutable int m_B;//加mutable,特殊变量,在常函数中,也是可以修改这个值的
};
テストコードは次のとおりです。
const Person p;
//p.m_A=100; 会报错,m_A在常函数内,不可以修改
p.m_B = 100;//不会报错
p.showPerson();//不会报错,常对象只能调用常函数
//p.func(); 会报错,常对象不可调用“非”常函数
cout << "p中的属性m_A为:" << p.m_A << endl;
試験結果:
p中的属性m_A为:100
请按任意键继续. . .