C++构造函数问题,谁能帮我看看都是怎么调用构造函数的。。急求

月光散落 发布于 2016/03/17 21:10
阅读 251
收藏 0

代码:

#include<iostream>

using namespace std;

class A{
int x;
public:
A():x(0){cout << "constructor A() called..."<< endl;}
A(int i):x(i){cout << "X" << x << "\tconstructor..." << endl;}
~A(){cout << "X" << x << "\tdestructor..." << endl;}
}; 
class B{
int y;
A X1;
A X2[3];
public:
B(int j):X1(j),y(j){cout << "B" << j << "\tconstructor..." << endl;}
~B(){cout << "B" << y << "\tdestructor..." << endl;}
};
int main()
{
A X1(1),X2(2);
B B1(3);
return 0;

}

运行结果:

加载中
0
木兰宿莽
木兰宿莽
没有问题啊,主要是由于B B1(3);这句话先得调用A的构造函数,先调用A X1对应的构造函数A(int);然后再调用3个A();来初始化 A X2[3];完后才调用B(int);析构函数就反着来嘛,没什么问题。
月光散落
月光散落
哦哦,多谢多谢
返回顶部
顶部