C++ 不理解(),并在c++; A类{ 公众: int*x; }; B类{ 公众: A_A,; }; int main() { B b1; b1._a.x=新的整数(1); B b2(b1); *b2._a.x=2; std::cout由于违反了

C++ 不理解(),并在c++; A类{ 公众: int*x; }; B类{ 公众: A_A,; }; int main() { B b1; b1._a.x=新的整数(1); B b2(b1); *b2._a.x=2; std::cout由于违反了,c++,C++,不理解(),并在c++; A类{ 公众: int*x; }; B类{ 公众: A_A,; }; int main() { B b1; b1._a.x=新的整数(1); B b2(b1); *b2._a.x=2; std::cout由于违反了3/5/0规则,指向x的指针指向同一位置。相关:B b2(b1)使用复制构造函数实例化b2,复制构造函数与赋值运算符几乎相似,在本例中是等效的。当类未显式定义时,类的默认复制构造函数是逐个成员初始化类-从其他ins调用每个ins上的复制构造函数

不理解(),并在c++;
A类{
公众:
int*x;
};
B类{
公众:
A_A,;
};
int main()
{
B b1;
b1._a.x=新的整数(1);
B b2(b1);
*b2._a.x=2;

std::cout由于违反了3/5/0规则,指向x的指针指向同一位置。相关:
B b2(b1)
使用复制构造函数实例化
b2
,复制构造函数与赋值运算符几乎相似,在本例中是等效的。当类未显式定义时,类的默认复制构造函数是逐个成员初始化类-从其他ins调用每个ins上的复制构造函数默认情况下,
*
返回一个引用。
class A {

public:
    int* x;

};

class B {

public:
    A _a;

};

int main()
{

    B b1;
    b1._a.x = new int(1);
    B b2(b1);
    *b2._a.x = 2;
    std::cout << *(b1._a.x) << std::endl;
}