常量对象与常量成员函数
来源:互联网 发布:乐乎城市青年社区客服 编辑:程序博客网 时间:2024/05/12 03:06
常量对象与常量成员函数
常量对象与常量成员函数来防止修改对象,实现最低权限原则。
可以用关键字const来指定对象是不可修改的,任何修改该对象的企图,都会导致编译错误。
例如:const Time noon(12,0,0); 声明一个Time 类的常量对象noon,并将它初始化为中午12点。
C++不允许在常量对象上调用成员函数,除非成员函数本身也被声明为常量。甚至对不会修改对象的成员函数,也是如此,此外,编译器不允许声明常量的成员函数修改对象。
对一般情况下,通常修改对象的构造函数和析构函数而言,它们不允许被声明成const。
关于常量对象和常量成员函数的使用方法如下:
(1)非常量对象调用非常量成员函数 (正确)
(2)非常量对象调用常量成员函数 (正确)
(3)常量对象调用常量成员函数 (正确)
(4)常量对象调用非常量成员函数 (错误)
尽管构造函数必须是非常量成员函数,但它仍然可用于初始化常量对象。
常量对象的“常量性”是在构造函数完成了对象的初始化之后生效的,持续到调用了对象的析构函数。
成员函数没有修改对象的事实,并不足以表明它就是常量函数,常量函数必须显式地用const声明。
常量成员函数的初始化必须用初始化列表。
例如:Increment::Increment(int c,int i) : count(c),increment(i);{}
初始化列表出现在构造函数的参数表 和 表示构造函数函数体开始的左大括号之间。成员初始化列表用冒号和参数表隔开。
常量数据成员(常量对象和常量变量)以及被声明为引用的数据成员,都必须用成员初始化列表初始化,在构造函数中对这些类型的数据赋值是不允许的。
参考资料:《c++程序员教程》 电子工业出版社 张良华等译 P273-P280
转自:http://blog.csdn.net/feitianxuxue/article/details/7311055
- 常量对象与常量成员函数
- 常量对象与常量成员函数
- 常量对象与常量成员函数
- C++类的常量对象与常量成员函数
- 常量对象、常量成员函数及其重载
- 常量对象、常量成员函数、常量成员函数的非常量重载版本。
- 常量对象、常量成员函数和常引用
- C++ 常量对象,成员函数,引用
- 常量成员函数
- 常量成员函数
- const常量成员函数
- 常量成员函数
- 成员函数常量
- 常量成员函数
- 常量成员函数(const)
- 常量成员函数
- c++常量成员函数
- 常量成员函数
- Java中的多线程
- 中国国家气象局天气预报信息接口
- 开源网站汇总
- Java动态调用方法
- unity3d教程 Ragdoll 的设置用法将角色击倒在地
- 常量对象与常量成员函数
- ORACLE 使用技巧
- autoit发邮件
- inline和宏定义的区别和联系
- Unity3D中Animation的常见属性及方法
- Oracle数据库常用调优方式
- LG XGT PLC 通讯模块IP地址设置不了
- 心得
- C++:STL标准入门汇总