一段代码,几个疑问,大家看看。
#include <iostream.h>
class A{
int a;
public:
A(int x):a(x) { cout<<a; }
~A( ) { cout<<a; }
};
class B: A{
int b, c;
const int d;
A x, y;
public:
B(int v): b(v),y(b+2),x(b+1),d(b),A(v) {
c=v;
cout<<b<<c<<d;
cout<<'C';
}
~B( ) { cout<<'D'; }
};
void main(void) { B z(1); }
问题一:b(v)的意思是否是b=v?为什么要这么写?
问题二:B z(1)对象后,是否是依次构造数据b,d,x,y为什么不是按B(int v)后的顺序构造呢?
问题三:b,c我觉得构造了两次,对否?