常量对象、常量成员函数及其重载
来源:互联网 发布:手机淘宝如何快速秒杀 编辑:程序博客网 时间:2024/05/18 01:08
1. 常量对象:如果不希望某个对象的值被改变,则定义该对象的时候可以在前面加const关键字
eg.
class Demo{private:int value;public:void SetValue();};const Demo Obj;//常量对象Obj变成一个常量对象,其值不能修改
2. 常量成员函数:在类的成员函数说明后面可以加const关键字,则该成员函数成为常量成员函数
常量成员函数在执行期间不应修改其所作用的对象。所以,常量成员函数不能修改成员变量的值(静态成员变量除外),也不能调用同类的非常量成员函数(静态成员函数除外)。
eg.
class Sample{public:int value;void GetValue() const;void func() {};Sample() {};};void Sample::GetValue() const{value = 0;//err.常量成员函数执行过程中不能修改作用的对象的值func();//err.常量成员函数不能调用其他非常量成员函数}int main(){const Sample o;o.value = 100;//err.常量对象不可被修改o.func();//err.常量对象上不能执行非常量成员函数o.GetValue();//ok.常量对象上可以执行常量成员函数return 0;}
3. 常量成员函数的重载:两个成员函数,名字和参数表都一样,一个是const,一个不是,算是重载情况
eg.
#include <iostream>#include <string>using namespace std;class CTest {private:int n;public:CTest(){cout << "Please input the number:" << endl;cin >> n;}int GetValue() const { return n; }int GetValue() { return 2 * n; }};int main() {const CTest objTest1;CTest objTest2;cout << objTest1.GetValue() << "," << objTest2.GetValue() << endl;return 0;}
阅读全文
0 0
- 常量对象、常量成员函数及其重载
- 常量对象、常量成员函数、常量成员函数的非常量重载版本。
- 常量对象与常量成员函数
- 常量对象与常量成员函数
- 常量对象与常量成员函数
- C++类的常量对象与常量成员函数
- 常量对象、常量成员函数和常引用
- C++ 常量对象,成员函数,引用
- 常量成员函数
- 常量成员函数
- const常量成员函数
- 常量成员函数
- 成员函数常量
- 常量成员函数
- 常量成员函数(const)
- 常量成员函数
- c++常量成员函数
- 常量成员函数
- 牛客网-幸运数
- 关注民生民情
- Java 中几个不常用的关键字
- FreeRTOS----任务优先级
- wordBreak-ii
- 常量对象、常量成员函数及其重载
- 移动零
- Spring集成RabbitMQ-使用RabbitMQ更方便
- AsyncTaskUtilsActivity
- Dialog System Using Real-Time Crowdsourcing and Twitter Large-Scale Corpus
- WARNING: terminal is not fully functional
- hihocoder:#1520 : 古老数字
- Maven的下载和环境配置
- 计算几何之二分半平面交