C++中的多继承和多重继承

在学习C++的过程中多继承和多重继承很重要,下边就自己的学习过程讲解一下C++中的继承问题:

多继承问题,先来看一段程序

#include<iostream>
using namespace std;
class CBase
{
public:
CBase(){ cout << "wo" << endl; }
~CBase(){ cout << "women" << endl; }
virtual void f1(){ cout << "f1ffff" << endl; }
void f2(){ cout << "f2ffff" << endl; }


};
class WWW
{
public:
WWW(){ cout << "xue" << endl; }
~WWW(){ cout << "xuexi" << endl; }
};
class CSub :public CBase, public WWW
{
public:
CSub(){ cout << "ni" << endl; }
~CSub(){ cout << "nimen" << endl; }
virtual void f1(){ cout << "f1www" << endl; }
void f2(){ cout << "f2www" << endl; }


};
int main()
{
CBase *p1 = new CBase;
CBase *p2 = new CSub;
CSub obj1;
p2->f1();
p2->f2();
delete p1;
delete p2;
cout << "endl" << endl;
return 0;

运行结果如下:

wo
wo
xue
ni
wo
xue
ni
f1www
f2ffff
women
women
endl
nimen
xuexi
women

多继承是指一个子类继承多个父类。多继承对父类的个数没有限制,继承方式可以是公共继承、保护继承和私有继承,

不写继承方式,默认是private继承

从程序和结果中我们可以看到

猜你喜欢

转载自blog.csdn.net/ultimate1212/article/details/78073063