C++设计模式之建造模式

#include <iostream>
using namespace std;

class ApplePhone
{
public:
virtual void buildCamera()=0;
virtual void buildRAM()=0;


};
class Apple5S:public ApplePhone
{
public:
Apple5S()
{

}

~Apple5S()
{

}
void buildCamera()
{
cout<<"5S 像素是800w"<<endl;
}
void buildRAM()
{
cout<<"5S 内存是64G"<<endl;
}


};
class Apple4S:public ApplePhone
{
public:
Apple4S()
{

}

~Apple4S()
{

}
void buildCamera()
{
cout<<"4S 像素是500w"<<endl;
}
void buildRAM()
{
cout<<"4S 内存是32G"<<endl;
}


};
class FoxconnFactory//富士康工厂
{
private:
ApplePhone *m_applePhone;

public:
FoxconnFactory(ApplePhone *applePhone)
{

m_applePhone = applePhone;
}
~FoxconnFactory()
{
if(m_applePhone!=NULL)
delete m_applePhone;

}
void createApplePhone()
{
m_applePhone->buildCamera();
m_applePhone->buildRAM();

}

};
int main(void)
{
ApplePhone *applePhone=new Apple5S();
FoxconnFactory foxconnFactory(applePhone);
foxconnFactory.createApplePhone();
getchar();
return 0;

}

原文地址:https://www.cnblogs.com/shencheng5721/p/3935732.html