http://hi.baidu.com/monsterfairy/item/030b4be52951c22c5a2d6493
情况1:非成员函数不能有CV限定,即const,volatile限定关键字
情况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;
}