C++ const 修饰类的用法

来源:互联网 发布:淘宝试用黑名单恢复 编辑:程序博客网 时间:2024/05/29 10:16

C++  const 修饰类用法   

1.修饰数据成员 

初始化位置只能在参数列表里面 

被const修饰的数据成员不能被修改  

2.修饰成员函数  
位置 函数申明之后,实现体之前  
意义: const承诺不会修改数据成员
            能访问const和非const数据成员   但不能修改 非const数据成员
            只能访问const成员函数 
构成重载  
const对象只能调用const成员函数。
非const成员对象,优先调用非const成员函数,若无则可调用const成员函数   

3.修饰类对象  
const 修饰函数,是从函数层面,不修改数据   
const修饰对象,是从对象层面,不修改数据,只能调用const成员函数

#include <iostream>using namespace std;class A{public:A(int v):val(v){}void dis() const {cout << val << endl;//  x = 200;      不可以 /***********/int a;           a = 100;     //可以    /***********/   //  print();      也不可以        }void print(){x = 100;}/******构成重载*******/void play(){cout << "void play()" << endl;}void play()const{cout << "void play() const" << endl;}void plays()const{cout << "void play() const" << endl;}private:const int val ;//  新版可以这样初始化  const int val = 10;int x, y;};int main(){//const int i;    必须初始化       A a(5);a.dis();a.play();a.plays();    //非const成员对象,优先调用非const成员函数,若无则可调用const成员函数       const A b(5);b.play(); //const对象只能调用const成员函数system("pause");return 0;}


0 0