相关疑难解决方法(0)

可以修改C ​​++ const对象的成员

在这段代码中,对象栏是一个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)

c++ const

2
推荐指数
1
解决办法
665
查看次数

标签 统计

c++ ×1

const ×1