
#include <QDebug>
enum ChooseMenu
{
sichuan,
anhui,
};
class CookBook{//菜谱
public:
virtual void cook_Paigu()=0;//炖排骨
virtual ~CookBook(){}
};
class SicBook:public CookBook{ //川菜谱继承于菜谱
public:
void cook_Paigu(){
qDebug()<<"四川红烧排骨";
}
};
class AnhuiBook:public CookBook{ //安徽菜谱继承于菜谱
public:
void cook_Paigu(){
qDebug()<<"安徽炖排骨";
}
};
class Kitchen{ //厨房
public:
CookBook* Create_paigu(ChooseMenu type)
{
switch (type) //做哪个菜
{
case sichuan:
return new SicBook();
case anhui:
return new AnhuiBook();
default:
return NULL;
}
}
};
void main()
{
Kitchen* m_Kitchen = new Kitchen();//创建厨房
CookBook* sic = m_Kitchen->Create_paigu(sichuan);//从厨房创建川菜排骨对象
sic->cook_Paigu();
CookBook* m_anhui= m_Kitchen->Create_paigu(anhui);//从厨房创建安徽菜排骨对象
m_anhui->cook_Paigu();
}
1495

被折叠的 条评论
为什么被折叠?



