在这段代码中,对象栏是一个const类型,但是通过const函数,我仍然可以修改成员x的值.那是不合理的吗?
输出是
15 25
// overloading members on constness
#include <iostream>
using namespace std;
class MyClass {
int x;
public:
MyClass(int val) : x(val) {}
int& get() const {return x;}
int& get() {return x;}
};
int main() {
MyClass foo (10);
const MyClass bar (20);
foo.get() = 15;
bar.get() = 25;
cout << foo.get() << '\n';
cout << bar.get() << '\n';
return 0;
}
Run Code Online (Sandbox Code Playgroud)