C++ const 成员函数

C++ Const 成员函数

对于代码:

const Exam tobyEx = Exam(“I am Toby”);
tobyEx.show();

编译器将拒绝第二行。为什么呢?
因为show()的代码无法保证调用对象不被修改 —— 调用对象和 const 一样,不应被修改。C++ 采用将 const 关键字放在函数的括号后面的方法,来保证函数不会修改调用对象。即 show() 函数应用如下形式声明:

void show() const;

同样,函数的定义也应添加 const:

void Exam::show() const{
         …
}

以这种方式声明和定义的类函数被称为 const 成员函数。就像应尽可能将 const 引用和指针用作函数形参一样,只要类方法不修改调用对象,就应将其声明为 const。我们应从现在开始就遵守这一原则。

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

推荐阅读更多精彩内容

  • C++文件 例:从文件income. in中读入收入直到文件结束,并将收入和税金输出到文件tax. out。 检查...
    SeanC52111阅读 2,855评论 0 3
  • 收集非原创文章,如遇原作者,请私聊我,我会表明出处! 1--10 1. C++中什么数据分配在栈或堆,静态存储区以...
    Juinjonn阅读 4,974评论 0 30
  • 该文章本来是以前在CSDN上写的,后面由于编辑方式不如简书,就将其copy到了简书。下面就简单的介绍一下怎么使用c...
    Mr_fei阅读 437评论 0 0
  • 今天我们来到了双龙湾,它处于河南卢氏和洛阳一带,因在大湾的尽头和山壁上分別有一只大龙头和一只小龙头,所以...
    慕子豪阅读 489评论 0 2
  • 是啊再过四五年就能喝上你的喜酒了 是玩笑吗 不是吧 是把最不期待的结果用最随意的方式的阐述 你今天对我说 你会去抗...
    兽柒阅读 185评论 0 0