f1007.cpp
来自「钱能C++程序设计教程(第二版)的源码和课件」· C++ 代码 · 共 38 行
CPP
38 行
//=====================================
// f1007.cpp
// 非虚拟多继承
//=====================================
#include<iostream>
using namespace std;
//-------------------------------------
class Furniture{
protected:
int weight;
public:
Furniture():weight(0){}
void setWeight(int i){ weight =i; }
int getWeight()const{ return weight; }
};//-----------------------------------
class Bed : public Furniture{
public:
Bed(){}
void sleep()const{ cout <<"Sleeping...\n"; }
};//-----------------------------------
class Sofa : public Furniture{
public:
Sofa(){}
void watchTV()const{ cout <<"Watching TV.\n"; }
};//-----------------------------------
class SleeperSofa : public Bed, public Sofa{
public:
SleeperSofa() :Sofa(), Bed(){}
void FoldOut()const{ cout <<"Fold out the sofa.\n"; }
};//-----------------------------------
int main(){
SleeperSofa ss;
ss.setWeight(20); // error 模糊的setWeight成员
Furniture* pF = (Furniture*)&ss; // error 模糊的Furniture*
cout<<pF->getWeight()<<endl;
}//====================================
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?