相关疑难解决方法(0)

为什么obj的私有值可以通过类实例改变?

#include<iostream>
using namespace std;

class A
{
    private:
        int value;
    public:
        A(int init):value(init){}
        void changevalue(A &a){a.value = 100;}//why a's value can be changed?
        void printvalue(){cout << value << endl;}
};

int main(int argc , char *argv[])
{
    A a(2);
    A b(3);

    a.changevalue(b);
    b.printvalue();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

aA类的实例,其私有值名为value,但为什么可以更改此私有值?那个参数列表是否包含在类的范围内?

c++

3
推荐指数
2
解决办法
418
查看次数

标签 统计

c++ ×1