gpt4 book ai didi

c++ - 为什么obj的私有(private)值可以被类实例改变?

转载 作者:太空狗 更新时间:2023-10-29 23:30:54 25 4
gpt4 key购买 nike

#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;
}

aA类的一个实例,有一个私有(private)值value,但是为什么这个私有(private)值可以改变呢?那是包含在类范围内的参数列表吗?

最佳答案

因为类访问说明符适用于每个类而不是每个对象。

您始终可以在类函数中修改相同类型的对象。常见的例子是复制构造函数和复制赋值运算符。

关于c++ - 为什么obj的私有(private)值可以被类实例改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12447782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com