.1 分析以下程序的執(zhí)行結(jié)果
#include
class base
{
public:
base(){cout<<"constructing base class"<~base(){cout<<"destructing base class"<};
class subs:public base
{
public:
subs(){cout<<"constructing sub class"<~subs(){cout<<"destructing sub class"<};
void main()
{
subs s;
}
解:
本題說明單繼承情況下構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序。這里base為基類,subs為派生類。
所以輸出為:
constructing base class
constructing sub class
destructing sub class
destrcuting base class
注意:在單繼承情況下,首先調(diào)用基類的構(gòu)造函數(shù) ,隨后調(diào)用派生類的構(gòu)造函數(shù),析構(gòu)函數(shù)的調(diào)用順序則正好相反。
#include
class base
{
public:
base(){cout<<"constructing base class"<~base(){cout<<"destructing base class"<};
class subs:public base
{
public:
subs(){cout<<"constructing sub class"<~subs(){cout<<"destructing sub class"<};
void main()
{
subs s;
}
解:
本題說明單繼承情況下構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序。這里base為基類,subs為派生類。
所以輸出為:
constructing base class
constructing sub class
destructing sub class
destrcuting base class
注意:在單繼承情況下,首先調(diào)用基類的構(gòu)造函數(shù) ,隨后調(diào)用派生類的構(gòu)造函數(shù),析構(gòu)函數(shù)的調(diào)用順序則正好相反。