65,211
社区成员
发帖
与我相关
我的任务
分享FUNC (int tz,int tx,int ty): funb1(ty), funa1(tx)
调用顺序不取决于初始化的列表顺序,而是在类中对象定义的顺序!
#include <iostream.h>
class FUNA
{
int x;
public:
FUNA (int tx)
{
x=tx;
cout <<"call the constructor function FUNA!\n";
}
void print()
{ cout <<x <<"\n"; }
~ FUNA ()
{ cout <<"call the destructor function FUNA!\n"; }
};
class FUNB
{
int y;
public:
FUNB (int ty)
{
y=ty;
cout <<"call the constructor function FUNB!\n";
}
void print()
{ cout <<y <<"\n"; }
~ FUNB ()
{ cout <<"call the destructor function FUNB!\n"; }
};
class FUNC
{
int z;
FUNA funa1;
FUNB funb1;
public:
FUNC(int tz,int tx,int ty);
void show()
{
cout <<z <<"\n";
funa1.print();
funb1.print();
}
~ FUNC() {cout <<"call the desturctor function FUNC!\n"; }
};
FUNC:: FUNC (int tz,int tx,int ty): funb1(ty), funa1(tx)
{
z=tz;
cout <<"call the constructor function FUNC!\n";
}
void main()
{
FUNC func1 (10,20,30);
func1.show();
}
===================================
call the constructor function FUNA!
call the constructor function FUNB!
call the constructor function FUNC!
10
20
30
call the desturctor function FUNC!
call the destructor function FUNB!
call the destructor function FUNA!
Press any key to continue