#include <iostream>
using namespace std;
class TV
{
public :
virtual void play()=0;
};
class HaierTV : public TV
{
public :
void play(){
cout<< "海尔电视机播放中..." <<endl;
}
};
class HisenseTV : public TV
{
public :
void play(){
cout<< "海信电视机播放中..." <<endl;
}
};
class TVFactory
{
public :
virtual TV * produceTV()=0;
};
class HaierTVFactory: public TVFactory
{
public :
TV* produceTV(){
return new HaierTV;
}
};
class HisenseTVFactory: public TVFactory
{
public :
TV* produceTV(){
return new HisenseTV;
}
};
int main()
{
TVFactory* haier=new HaierTVFactory();
TV* haierTV=haier->produceTV();
haierTV->play();
delete haierTV;
delete haier;
TVFactory* hisense=new HisenseTVFactory();
TV* hisenseTV=hisense->produceTV();
hisenseTV->play();
delete hisenseTV;
delete hisense;
}