【C++】:const成员,取地址及const取地址操作符重载
目录
- 一,const成员
- 二,取地址及const取地址操作符重载
一,const成员
将const修饰的“成员函数”称之为const成员函数,const修饰类成员函数,实际修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。
使用方式:规定在函数后面加 const。
看看下面的几段代码:
代码1:对象d1是const类型,Print函数后面没有const,运行结果报错。
class Date { public: Date(int year, int month, int day) { _year = year; _month = month; _day = day; } //d1.Print(&d1); d1对象类型是 const Date* 只读 void Print() //Date* const this 可读可写 权限放大了 { cout //d1是const对象,d1对象类型是const Date* const Date d1(2024, 4, 14); d1.Print(); return 0; } public: Date(int year, int month, int day) { _year = year; _month = month; _day = day; } //d1.Print(&d1); d1对象类型是 const Date* 只读 //const Date* const this,const修饰*this,本质改变this的类型 void Print() const { cout const Date d1(2024, 4, 25); //d1是const对象,d1对象类型是 const Date* d1.Print(); return 0; } public: Date(int year, int month, int day) { _year = year; _month = month; _day = day; } //d2.Print(&d2); d2对象类型是Date* const,可读可写 void Print() const { cout Date d2(2024, 4, 25);//d2是非const对象 d2.Print();//调用Print就是权限的缩小 return 0; } public: A* operator&() { cout cout A aa1; const A aa2; cout
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。