C++ 杂记

C++ const 成员函数

2017-07-13  本文已影响5人  赵者也

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。我们应从现在开始就遵守这一原则。

上一篇 下一篇

猜你喜欢

热点阅读