1、多重继承
只继承一个基类而生成的派生类——单一继承
继承多个基类而生成的派生类——多重继承
/*利用多重继承实现对整数、浮点数、字符串进行管理的功能*/
#include<iostream>
#include<string.h>
using namespace std;
class test1
{
int x;
public:
test1(int a):x(a)
{
}
void set(int a)
{
x=a;
}
int getx()
{
return x;
}
virtual void disp()
{
cout<<"x="<<x<<endl;
}
};
class test2
{
double y;
public:
test2(double a):y(a)
{
}
void set(double b)
{
y=b;
}
double gety()
{
return y;
}
virtual void disp()
{
cout<<"y="<<y<<endl;
}
};
class test3:public test1,public test2
{
char z[20];
public:
test3(int a,double b,const char *c):test1(a),test2(b)
{
strcpy(z,c);
}
void set(int a,double b,const char *c)
{
test1::set(a);
test2::set(b);
strcpy(z,c);
}
void disp()
{
test1::disp();
test2::disp();
cout<<"z="<<z<<endl;
}
};
int main()
{
test3 p(1,1.11,"abc");
p.disp();
p.set(2,2.22,"ABC");
p.disp();
}
2、直接继承和间接继承
class test1
{
……
};
class test2:public test1
{
……
};
class test3:public test2
{
……
};