const成员函数
来源:互联网 发布:逆战天王宏数据 编辑:程序博客网 时间:2024/04/30 14:22
#include <iostream> using namespace std; class Widget { public: Widget(int value):m_value(value){} int GetValue()const // 成员函数的const版本 { cout << "IN : int GetValue()const" << endl; return m_value; } int GetValue() // 成员函数的非const版本 { cout << "IN : int GetValue()" << endl; return m_value; } private: int m_value; }; int GetWidget(const Widget* cpWidget) { cout << "IN : int GetWidget(const widget* cpWidget) "<< endl; return cpWidget->GetValue(); } int GetWidget(Widget* pWidget) { cout<<"IN : int GetWidget(widget* pWidget)"<<endl; return pWidget->GetValue(); } void main() { Widget *pWidget1 = new Widget(4); GetWidget(pWidget1); const Widget *pWidget2 = new Widget(5); GetWidget(pWidget2); }
运行结果:
如果将const 成员函数删除,程序编译不能通过。
这说明了:
1. const 成员函数是供 const 对象 调用的。
2. const 对象不能调用 非const 的成员函数
3. 非const 对象 优先调用 成员函数的非const版本。在没有 非const版本 的时候 会去调用 成员函数的 const 版本。
综上所述:如果 成员函数并没有改变 对象的意图的话,就将之设为 const 成员函数吧!
- const对象const成员函数
- const成员函数及const
- const成员函数
- const成员函数
- const 成员函数
- c++ const 成员函数
- 关于const成员函数
- const成员函数简介
- const 成员函数
- c++ const成员函数
- c++ const成员函数
- c++ const 成员函数
- c++const成员函数
- const成员函数
- const成员函数
- const成员函数
- c++ const成员函数
- const 成员函数
- hibernate学习笔记-2入门初体验关联映射
- 客户端防表单重复提交和服务器端session防表单重复提交
- IIS访问网站用户过多的解决方法
- OpenGL字体的另一种实现---学习NeHe OpenGL
- ASP.NET使用多线程
- const成员函数
- python 通过google搜索图片并下载
- 架设时间同步服务器/开机自动同步系统时间
- 写有效率的SQL查询(III)
- WS_BORDER以及WS_EX_CLIENTEDGE的研究
- C++(四)
- 富翁的故事
- C++(五) 函数
- 初学者的心态