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由于违反了,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上的复制构造函数
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;
}