标题:
C++中的常对象
[打印本页]
作者:
yuyang911220
时间:
2017-4-22 17:00
标题:
C++中的常对象
在C++中为了实现共有数据的保护和共享,我们可以使用CONST,就是把有关的数据定义为常量。我们可以在定义对象时指定对象为常对象,当然常对象是要有初始值的。如:Time constti(10,20,30);这时ti的所有的成员的值都不能被修改,这样给了我们一个很有用的东西:
凡是我们希望数据成员不被修改的对象我们就可以设定为常对象
。下面给出常对象的定义的一般的方法:
类名 const 对象名(参数列表);
const 类名对象名(参数列表);
如果一个对象被声明为常对象,则不能调用这个对象的非const型的成员函数
。其中当然除去自动调用的构造函数和析构函数。这时我们可以使用定义常成员函数来访问对象中的数据成员。有时在我们的编程中可能要定义一些常对象的数据是可以改变的,这时我们可以把它的这个数据定义为:mutable,,如:mutable int count;这时就把count声明为了可变的数据成员。这样就可以用声明为const的成员函数来修改它的值。
常对象成员:在我们的类的定义中可以把对象的成员声明为const,这些包括常数据成员和常函数成员。先说明一下常数据成员吧,它的值是不能改变的,
只有通过构造函数的参数初始化表对常数据成员进行初始化
,所有涉及对常数据成员赋值的操作都是不正确的,其中当然包括在构造函数中的赋值操作。
常成员函数:
如果成员函数被声明为常成员函数则只能引用本类中的数据成员
,而不能去个性它们,例如只能用于数据的输出等。如下:void get_Time()
const
; 其中的const是我们的函数的一部分,我们在函数的声明和定义的时候都应该加上他。而在调用的时候不用加。常成员函数可以引用常数据成员,也可以引用一般的数据成员,但是不可以改变它的值。常成员函数不能调用另一个非常成员函数。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0