#include<iostream.h>
class A{
public:
A(){cout<<"1\n";}
};
class B{
public:
B(int i){cout<<i;}
A a;
};
int main(){
B b(7);
return 0;
}
这段小程序的结果是输出1 7,为什么是先调用class A构造函数,而不是先调用class B的构造函数初始化对象?
...全文
4223打赏收藏
关于类的问题
#include class A{ public: A(){cout<<"1\n";} }; class B{ public: B(int i){cout<<i;} A a; }; int main(){ B b(7); return 0; } 这段小程序的结果是输出1 7,为什么是先调用class A构造函数,而不是先调用class B的构造函数初始化对象?
#include<iostream.h>
class A{
public:
A(){cout<<"1\n";}
};
class B{
public:
B(int i):a() //<----只是你没有写出来罢了.
{cout<<i;}
A a;
};
int main(){
B b(7);
return 0;
}