派生类构造函数的调用顺序
2011-12-14 11:15
260 查看
#include<iostream.h>
class Base1
{
protected:
int iVar1;
public:
Base1(int ix)
{
iVar1=ix;
cout<<"调用基类Base1的构造函数"<<endl;
}
void show_1()
{
cout<<iVar1<<endl;
}
};
class Base2
{
protected:
int iVar2;
public:
Base2(int ix)
{
iVar2=ix;
cout<<"调用基类Base2的构造函数"<<endl;
}
void show_2()
{
cout<<iVar2<<endl;
}
};
class Derived:public Base1,public Base2
{
int iVar3;
public:
Derived(int ix,int iy,int iz):Base2(ix),Base1(iy)
{
iVar3=iz;
cout<<"调用派生类构造函数"<<endl;
}
void display()
{
show_1();
show_2();
cout<<iVar3<<endl;
}
};
void main()
{
Derived dVar(10,20,30);
dVar.display();
}
class Base1
{
protected:
int iVar1;
public:
Base1(int ix)
{
iVar1=ix;
cout<<"调用基类Base1的构造函数"<<endl;
}
void show_1()
{
cout<<iVar1<<endl;
}
};
class Base2
{
protected:
int iVar2;
public:
Base2(int ix)
{
iVar2=ix;
cout<<"调用基类Base2的构造函数"<<endl;
}
void show_2()
{
cout<<iVar2<<endl;
}
};
class Derived:public Base1,public Base2
{
int iVar3;
public:
Derived(int ix,int iy,int iz):Base2(ix),Base1(iy)
{
iVar3=iz;
cout<<"调用派生类构造函数"<<endl;
}
void display()
{
show_1();
show_2();
cout<<iVar3<<endl;
}
};
void main()
{
Derived dVar(10,20,30);
dVar.display();
}
相关文章推荐
- 关于派生类构造函数与基类构造函数的调用顺序问题
- C++中建立派生类对象时构造函数的调用顺序
- C++:派生类的构造函数和析构函数的调用顺序
- 构造函数和析构函数在基类和派生类之间的调用顺序
- 【C++】基类和派生类构造函数的调用顺序
- 【c++继承】继承关系中派生类对象构造函数和析构函数调用顺序
- C++学习笔记(5)——基类、派生类的构造函数、析构函数的调用顺序
- c++学习笔记4,派生类的构造函数与析构函数的调用顺序(一)
- 派生类构造函数和析构函数的调用顺序(C++)
- 内嵌子对象时派生类构造函数与析构函数的调用顺序
- 关于派生类构造函数与基类构造函数的调用顺序问题
- 派生类构造函数的调用顺序
- C++基类、派生类构造函数调用顺序
- c++学习笔记5,多重继承中派生类的构造函数与析构函数的调用顺序(二)
- C++派生类构造函数调用顺序
- C++基础:派生类的构造函数与析构函数调用顺序
- C++派生类构造函数调用顺序(详解)
- 关于派生类构造函数与基类构造函数的调用顺序问题
- C++派生类构造函数和析构函数调用顺序
- 关于派生类构造函数与基类构造函数的调用顺序问题