当前位置: 首页 > news >正文

C++const成员

        我们将const修饰的“成员函数”称为const成员函数,将const放在函数后面,看似修饰的是函数,但实际上修饰的是成员函数内隐藏的this指针,这表明在该成员函数中不能对类的任何成员变量进行修改。

class Date
{
public: void Print() const //const修饰的是this指针{cout << "void Print() const" << endl;}
private:int _year;int _month;int _day;
};

注:const对象不能调用非const成员函数,权限的放大

        非const对象可以调用const成员函数,权限的缩小

        const成员函数不能调用其它非const成员函数,权限的放大

        非const成员函数可以调用其他const成员函数,权限的缩小

class Date
{
public:Date(int year, int month, int day){_year = year;_month = month;_day = day;}void Print(){cout << "Print()" << endl;cout << "year:" << _year << endl;cout << "month:" << _month << endl;cout << "day:" << _day << endl << endl;}void Print() const{cout << "Print()const" << endl;cout << "year:" << _year << endl;cout << "month:" << _month << endl;cout << "day:" << _day << endl << endl;}
private:int _year;int _month;int _day;
};
int main()
{Date d1(2022, 1, 13);//既可以调用非const修饰的Print函数又可以调用const修饰的Print函数d1.Print();const Date d2(2022, 1, 13);//只能调用const修饰的Print函数d2.Print();return 0;
}

如果将上述代码中,const修饰的成员函数屏蔽,报错如图:

http://www.dtcms.com/a/312217.html

相关文章:

  • [网安工具] Web 漏洞扫描工具 —— AWVS · 使用手册
  • 机器学习【五】decision_making tree
  • Linux重定向和缓冲区
  • Piriority_queue
  • 三、摩擦刚体——捉取质量函数
  • ARP协议是什么?ARP欺骗是如何实现的?我们该如何预防ARP欺骗?
  • 前端与后端部署大冒险:Java、Go、C++三剑客
  • Codeforces Round 1039 (Div. 2) A-C
  • nodejs读写文件
  • 数据类型Symbol
  • 裸露土堆识别准确率↑32%:陌讯多特征融合算法实战解析
  • 数据结构基础
  • Minimizing Coins(Dynamic Programming)
  • 【智能体cooragent】创建 workflow 时 候选 Agent 和 Tool 获取来源详细分析
  • Python从入门到精通——第五章 列表与元组
  • 机器人学中路径规划(Path Planning)和轨迹生成(Trajectory Generation)关系
  • 海康皓视通 对接测试和比较
  • 【学习笔记】MySQL技术内幕InnoDB存储引擎——第8章 备份与恢复
  • 自进化智能体综述:通往人工超级智能之路
  • 安卓自动点击器:设置点击周期 / 滑动,抢票、游戏刷日常秒会
  • UNet改进(28):KD Attention增强UNet的知识蒸馏方法详解
  • 适 配 器 模 式
  • Anthropic最新研究Persona vector人格向量
  • C语言---函数的递归与迭代
  • 第14届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2023年3月12日真题
  • Python从入门到精通计划Day01: Python开发环境搭建指南:从零开始打造你的“数字厨房“
  • 【语音技术】什么是实体
  • AI原生数据库:告别SQL的新时代来了?
  • 高效截图的4款工具深度解析
  • 淘宝商品API可以获取哪些商品详情数据?