#include<iosteam>
#include<string>
class OS{
public:
virtual void showOS()=0;
}
class LinuxOS:public OS{
public:
void showOS override{
std::cout<<linux<<std::endl;
}
}
class WindowsOS:public OS{
public:
void showOS() override{
std::cout<<windows<<std::endl;
}
}
class Computer{
public:
Computer(OS& os):os_(os){};
virtual void show()=0;
protected:
OS& os_;
}
class AppleComputer:public Computer{
public:
AppleComputer(OS& os):Computer(os){};
void show() override{
std::cout<<this is apple<<std::endl;
os_.showOS();
}
}
class HPComputer:public Computer{
public:
HPComputer(OS& os):Computer(os){};
void show() override{
std::cout<<this is HP<<std::endl;
os_.showOS();
}
}
LinuxOS linux;
HPComputer hpComputer(linux);
hpComputer.show();
桥接模式
最新推荐文章于 2024-10-12 10:12:42 发布