c++/oop---常类型

常类型

常对象

类名 const 对象名

const 类名 对象名

必须进行初始化

 

常数据成员

定义的时候一定要用成员初始化列表来初始化

class A{
    public: 
        const int v;
        A (int x=0):v(x){}
//        A (int x=0){v=x;} Wrong
};
int main(){
    A a = 2;
    return 0;
}

 

常成员函数

类型说明 函数名 (参数) const

 

class A{
    public: 
        int v;
        A (int x=0):v(x){}
        void print()const;
};
void A::print()const{
    cout<<v<<endl;
//    v=10; Wrong
}

函数声明和定义时要有 const

 常函数不能修改成员的值,不能调用非常量成员函数

常对象只能访问常函数,不能访问非 const 成员函数

 

mutable 关键字:不受 const 约束

posted @ 2022-03-03 08:51  liankewei123456  阅读(23)  评论(0编辑  收藏  举报