C++ const型成员函数与 non-const型成员函数
来源:互联网 发布:js map remove 编辑:程序博客网 时间:2024/04/29 13:23
首先一点,二者是可以构成重载的,仅根据返回值的 const/non-const 与否是无法构成重载的;
class A{public: void foo() {} // 非 const 型成员};void foo(const A& a){ a.foo(); // 编译器报错 // 对象包含与成员函数不兼容的类型限定符}
改造为:
class A{public: void foo() { std::cout << "A::foo()" << std::endl;} void foo() const {std::cout << "A::foo() const" << std::endl; } // 两者可以构成重载};void foo(const A& a){ a.foo(); } // 调用的是const型成员函数函数void foo2(A& a){ a.foo(); } // 调用的是 non-const 型成员函数
再看一个更为直观的例子:
class A{public: void foo() const { std::cout << "A::foo() const" << std::endl;} void foo() { std::cout << "A::foo()" << std::endl;} void foo2() { std::cout << "A::foo2()" << std::endl; }};int main(int, char**){ A a; a.foo(); // 重载时,non-const 的对象自动访问 non-const 的成员方法 a.foo2(); const A aa; aa.foo(); // aa.foo2(); 会报错 // const 的仅能访问const 的 return 0;}
0 0
- C++ const型成员函数与 non-const型成员函数
- C++ const型成员函数与 non-const型成员函数 (二)
- c++const成员函数
- const成员函数如何调用non-const成员变量
- c++const成员函数与mutable关键词
- const成员函数与static成员函数
- const成员函数与const对象
- const对象与const成员函数
- const成员函数与const对象
- c++ const 与成员函数
- const与类成员函数
- const成员变量与成员函数
- const成员变量与成员函数
- const对象const成员函数
- const成员函数及const
- const成员函数
- const成员函数
- const 成员函数
- Keepalived之vrrp_script方式检测(mycat)
- Linux 2.6内核中新的锁机制--RCU
- 欢迎使用CSDN-markdown编辑器
- jenkins配置 转载保存
- 有关android.view.View
- C++ const型成员函数与 non-const型成员函数
- 理解innodb的表空间管理
- LaTeX简易教程
- 每天读一点儿APM(PIX)代码之四:minimosd
- Leetcode 260
- iOS - UIButton(UIEdgeInsets)/设置button上的文字和图片上下垂直居中对齐
- a fast lesson about ubuntu as the second system(有补充)
- Java仿实现微信红包分配算法
- MyEclipse 2015 Stable 2.0汉化