- 多继承
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/cb4b61d921f95c3d1ff5126f7674a0f9.png)
- 实现这样的例子
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/dcd35b5350b20634a53fa52a525be797.png)
- 测试程序
#include <stdio.h>
#include <iostream>
using namespace std;
class Sofa{
public:
void watchTV(void){
cout<<"watch TV"<<endl;
}
};
class Bed{
public:
void sleep(void){
cout<<"sleep"<<endl;
}
};
class Sofabed:public Sofa,public Bed{
};
int main()
{
Sofabed s;
s.sleep();
s.watchTV();
system("pause");
return 0;
}
- testdemo2
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f9b4d667066365e89084f5a27e160975.png)
#include <stdio.h>
#include <iostream>
using namespace std;
class Furniture{
private:
int weight;
public:
void setWeight(int w){this->weight = w;}
int getWeight(void) const {return weight;}
};
class Sofa:virtual public Furniture{
public:
void watchTV(void){
cout<<"watch TV"<<endl;
}
};
class Bed:virtual public Furniture{
public:
void sleep(void){
cout<<"sleep"<<endl;
}
};
class Sofabed:public Sofa,public Bed{
};
int main()
{
Sofabed s;
s.sleep();
s.watchTV();
s.setWeight(100);
system("pause");
return 0;
}