为什么下面的拷贝构造函数调用了 this->a的结果却是随机值
#include<iostream>using namespace std;
class A{
int a;
public:
A(int x){a=x;cout<<"constructor "<<x<<endl;}
A(A const &b){
cout<<"constructor"<<this->a<<endl;
}
};
class B{
A a1,a2;
public:
B(A a,A b):a1(a),a2(b){ //可以省略无参都早函数的类对象成员或者默认参数的构造函数的类对象成员,也可以这样
cout<<"B constructor"<<endl;//初始化列表参数既可以是对象(得调用默认构造函数)也可以是
}
};
main(){
A a(3),b(5);
B b1(a,b);
}
//而且为什么是调用四次!!咋回事啊