在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在C++ 的编程过程中 ,如果既想要数据能自一定范围内被共享 ,又要保证它不被任意修改,可以使用const 也就是把某些有关的数据定义为常量。
常对象 定义对象的时候声明为常对象。必须要赋初值。 在所有的场合中,常对象中的成员的值都是不可以修改的。
例如 const Time t1(10,20,30);
如果对象被声明了常对象,那么任何企图调应常对象中的函数成员的形式都是违法的,编译器都会报错。因而,要把要把需要调用的函数成员也定义为const
如 void GetTime() const ; 这个定义就可以访问常对象的函数成员了。 例外:当要对常对象中的某个数据进行更改时候,(例如常对象中的计数变量 count )这时候要靠虑到编程的特殊性,所以引入了mutable , 当常对象的某数据成员声明为 mutable int count 的时候,说明这个变量是可以改变的。 常对象成员 常数据成员 用法类似于一般的常变量,用关键字const来声明,常对象成员的值是不能改变的。只是通过构造函数的参数初始化表对常数据成员进行初始化。定义的具体格式是:Time::Time(int h) :hour(h){}只能通过这样的初始化列表来进行初始化。 常成员函数 一般的成员函数只能引用到本类中的非const 成员。也可以修改它们。 但是如果声明为了常成员函数,那么只能够引用到它们 ,但是却不能 修改它们。 const 成员函数可以引用包括:const 数据成员 ,非const数据成员和const的对象的数据成员,但是只是引用均不能改变它们的值。 非const成员函数对 非const数据成员 既可以引用也可以改变值 const数据成员 可引用但是不能改变值 const对象的数据成员 不可引用 常成员函数的应用:
如果在一个类中 ,有些数据成员的值允许改变,另外一些数据成员的值是不允许改变的,那么可以将一部分的数据成员声明为const 另一部分声明为非const , 如果类中的所有的数据成员的值都是不允许改变的。那么可以把数据成员声明为const。 对于一个常对象 ,常成员函数 只能调用其中的const成员函数,而不能调用非const成员函数。 常函数成员不能调用任何一个非const函数成员 CSDN实例
这段代码当然编译不过去。但下面这一段呢?
Code:
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论