小工具知识网

当前位置: 首页 > 行业知识 > 【C++】:const成员,取地址及const取地址操作符重载

行业知识

【C++】:const成员,取地址及const取地址操作符重载

2026-10-27 13:33:17 来源:互联网转载

目录

  • 一,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 

上一篇:马上要24了

下一篇:JasperReports源码深度解析,揭秘报告生成引擎核心机制