#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;
}