【发布时间】:2011-06-04 14:37:00
【问题描述】:
const 成员函数是否只调用 const 成员函数?
class Transmitter{
const static string msg;
mutable int size;
public:
void xmit() const{
size = compute();
cout<<msg;
}
private:
int compute() const{return 5;}
};
string const Transmitter::msg = "beep";
int main(){
Transmitter t;
t.xmit();
return EXIT_SUCCESS;
}
如果我不将 compute() 设为 const,则编译器会抱怨。 是不是因为一个 const 成员函数不允许修改成员,它不会允许 任何对非常量的调用,因为这意味着 const 成员函数将“间接”修改数据成员?
【问题讨论】:
标签: c++ const-method