Board logo

标题: 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