class a
{
public:
a(){cout<<"a"}
};
class b()
{
b(){cout<<"b"}
};
class c :public a
{
public:
a classa;
c(){cout<<"c"}
};
int main()
{
c classc;
return 0;
}
问执行结构多少?
需要你们说出原理
...全文
41315打赏收藏
构造函数的问题 新东方面试题
class a { public: a(){cout<<"a"} }; class b() { b(){cout<<"b"} }; class c :public a { public: a classa; c(){cout<<"c"} }; int main() { c classc; return 0; } 问执行结构多少? 需要你们说出原理
我想问问lz
那代码里的class b是干什么用的?
是不是写错!
既然考你类的初始化次序,然后输出两个a
那就没意义了!
个人感觉LZ写错了!
class c :public a 应该改为class c :public b
还有class b怎么还带个(),无语,构造还是私有的,还的改
class b
{
public:
b(){cout<<"b"}
};
呵呵!
然后输出bac.
以下代码用来确定是先执行继承类的构造函数还是内含类的构造函数
#include <iostream>
using namespace std;
class a
{
public:
a(){cout<<"a"<<endl;}
a(int x){cout<<"ax"<<endl;}
};
class b
{
public:
b(){cout<<"b"<<endl;}
};
class c :public a
{
public:
a classa;
c():a(2){cout<<"c"<<endl;}
};