const关键字修饰类

34类成员函数的存储

在对象调用函数的同时,向该函数传递了该对象的指针,该指针就是this

36const 修饰符

#include<iostream>

using namespace std;

#if 0
1.const 修饰数据成员 成员函数  类对象 
2.修饰数据成员时候,初始化位置只能在参数列表里面
    被const 修饰的数据成员 不能被修改
3.修饰成员函数
    位置函数声明之后 实现体之前  要求在声明和定义处都要有const 修饰
    意义:const 函数承诺 不会修改数据成员
    能访问const和非const数据成员 但不能修改 非const 数据成员
  只能访问const成员函数

    构成重载  
    const 对象只能调用const 成员函数
    非 const对象  优先调用非const成员函数  若无 则可调用const成员函数
4.修饰类对象
    const 修饰函数 是从函数的层面 不修改数据
    const 修饰对象 是从对象的层面 不修改数据//只能调用const 成员函数
#endif


class A
{
public:
    A(int v)
    :val(V)
    {
    
    }
    void dis() const
    {
    cout<<val<<endl;
    //x=200;这个不可以
    //print();这个也不可以
        cout<<"void dis() const"<<endl
    }
    void dis() 
    {
    cout<<val<<endl;
        cout<<"void dis() "<<endl
    }
    void print()
    {
     x=100;
     y=200;
    }
private:
    const int val;//const int val = 10 可以但是不好
        int x,y;
}


int main()
{
    const A a(5);
    a.dis();
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容