到底是不是只读

题目描述

补全代码,使得输出符合题意。

关于输入

一行,两个整数x和y。

关于输出

两行,第一行为x,第二行为y。

核心技巧

  • 本题考察 mutable 关键词的使用。
  • const 修饰的只读对象只能调用用 const 修饰的只读成员函数,只读成员函数只能修改用 mutable 关键词修饰的成员变量。

参考答案

#include <iostream>
using std::cin, std::cout, std::endl;
class Sample {
public:
    mutable int val;
    Sample(int x) : val{x} {}
    int GetValue() const {
        return val;
    }
    void SetValue(int x) const{
        val = x;
    }
};
int main() {
    int x, y;
    cin >> x >> y;
    const Sample s(x);
    cout << s.GetValue() << endl;
    s.SetValue(y);
    cout << s.GetValue() << endl;
}