C++ const相关问题 CV限定问题

来源:互联网 发布:nginx 查看在线人数 编辑:程序博客网 时间:2024/06/04 14:00
 http://hi.baidu.com/monsterfairy/item/030b4be52951c22c5a2d6493
 情况1:非成员函数不能有CV限定,即const,volatile限定关键字


情况2:静态成员函数不能有CV限定,即const,volatile限定关键字

总结:只有非静态成员函数才可以使用const,volatile限定关键字


写个Demo说明下

#include <iostream>using namespace std;  class test {public:    test(){};    virtual ~test(){};      /*static*/ void showMe() const { //加上static,会报 成员函数‘static void test::showMe()’不能拥有 cv 限定符        cout<<"show me is ok!"<<endl;    }      static void showHe() {        cout<<"show he is ok!"<<endl;    }      void showYou() {        cout<<"show you is ok!"<<endl;    }};    /*static*/ void tt() /*const*/{ //加上const 会报错误:非成员函数‘void tt()’不能拥有 cv 限定符,无论是否是静态    cout<<"tt2 show tt is ok!"<<endl;}  int main(void) {    const test t;  //加上const限定,会影响类的非const返回方法 t.showYou()会报错    t.showHe(); //静态方法不受const类限制    t.showMe();   //    t.showYou(); //会报丢弃了类型限定,const类,只能调用const限定函数    tt();    return 0;} 


0 0
原创粉丝点击