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

  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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值