virtual empty() const中的const有的作用

来源:互联网 发布:淘宝怎么改默认地址 编辑:程序博客网 时间:2024/05/22 03:49

后面加个const 表明该函数不会改名成员函数的值!该函数可以被常量对象访问(const)。 注意 加了const 与不加const的函数是两个不同的函数! 用个例子说明其区别:

#include <iostream> class A { public:     void empty()      {         std::cout<<"call empty()\n";     }      void empty() const     {         std::cout<<"call empty() const \n";     } }; void main() {     const A a; //a常量对象,其只能访问常量函数     a.empty(); //访问 empty() const; 如果A中没有 empty() const 函数,编译器报错     A b; //非常量对象     b.empty(); //访问 empty() }


0 0
原创粉丝点击