C++常对象与常函数

#include<iostream>
using namespace std;
class Person {
public:
    void show() const {
        m_B = 200;//成员属性声明时加关键字mutable,在常函数内可以修改 
        //m_A = 100;报错,常函数内不允许修改成员属性
    }
    int m_A;
    mutable int m_B;
};
void test01() {
    const Person p;
    //p.m_A = 100;报错,常对象不允许修改成员属性
    p.m_B = 100;//成员属性声明时加关键字mutable,常对象在定义后可以修改
    p.show();
}
int main() {
    test01(); 
    system("pasue");
    return 0;
    //成员函数后加const称为常函数
    //声明对象前加const称为常对象
    //常对象只能调用常函数
}

猜你喜欢

转载自www.cnblogs.com/lyt888/p/12488839.html