//接口类(文件1)
class AbstractCar
... {
public:
virtual void startup();
virtual void Run();
virtual void Turn();//转向
virtual void Stop();
private:
} ;
//工厂接口类(文件2)
class CarFactory
... {
public:
virtual AbstractCar* CreateCar()
...{
}
} ;
//客户类(文件3)
class CarTestFramework
... {
public:
void BuildTestContext(CarFactory carFactory)
...{
AbstractCar* car1 = carFactory.CreateCar();
AbstractCar* car2 = carFactory.CreateCar();
AbstractCar* car3 = carFactory.CreateCar();
AbstractCar* car4 = carFactory.CreateCar();
AbstractCar* car5 = carFactory.CreateCar();
}
void Dotest()
...{
AbstractCar* car = new AbstractCar();
}
TestData GetTestData()
...{
AbstractCar* car = new AbstractCar();
}
}
//具体类(具体产品类与具体工厂类)---(文件4)
class HongqiCar: public AbstractCar
... {
public:
virtual void startup();
virtual void Run();
virtual void Turn();//
virtual void Stop();
private:
Enginee enginee1;
Enginee enginee2;
Enginee enginee3;
Enginee enginee4;
Enginee enginee5;
} ;
class Dongfeng: public AbstractCar
... {
public:
virtual void startup();
virtual void Run();
virtual void Turn();//
virtual void Stop();
private:
Enginee enginee1;
Enginee enginee2;
} ;
class HongqiCarFactory: public CarFactory
... {
public:
AbstractCar* CreateCar()
...{
return new HongqiCar();
}
}
class DongfengCarFactory: public CarFactory
... {
public:
AbstractCar* CreateCar()
...{
return new Dongfeng();
}
}
//应用程序---(文件5)
int main()
... {
CarTestFramework carTestFramework = new CarTestFramework();
carTestFramework.BuildTestContext(new HongqiCarFactory);
return 0;
}
class AbstractCar
... {
public:
virtual void startup();
virtual void Run();
virtual void Turn();//转向
virtual void Stop();
private:
} ;
//工厂接口类(文件2)
class CarFactory
... {
public:
virtual AbstractCar* CreateCar()
...{
}
} ;
//客户类(文件3)
class CarTestFramework
... {
public:
void BuildTestContext(CarFactory carFactory)
...{
AbstractCar* car1 = carFactory.CreateCar();
AbstractCar* car2 = carFactory.CreateCar();
AbstractCar* car3 = carFactory.CreateCar();
AbstractCar* car4 = carFactory.CreateCar();
AbstractCar* car5 = carFactory.CreateCar();
}
void Dotest()
...{
AbstractCar* car = new AbstractCar();
}
TestData GetTestData()
...{
AbstractCar* car = new AbstractCar();
}
}
//具体类(具体产品类与具体工厂类)---(文件4)
class HongqiCar: public AbstractCar
... {
public:
virtual void startup();
virtual void Run();
virtual void Turn();//
virtual void Stop();
private:
Enginee enginee1;
Enginee enginee2;
Enginee enginee3;
Enginee enginee4;
Enginee enginee5;
} ;
class Dongfeng: public AbstractCar
... {
public:
virtual void startup();
virtual void Run();
virtual void Turn();//
virtual void Stop();
private:
Enginee enginee1;
Enginee enginee2;
} ;
class HongqiCarFactory: public CarFactory
... {
public:
AbstractCar* CreateCar()
...{
return new HongqiCar();
}
}
class DongfengCarFactory: public CarFactory
... {
public:
AbstractCar* CreateCar()
...{
return new Dongfeng();
}
}
//应用程序---(文件5)
int main()
... {
CarTestFramework carTestFramework = new CarTestFramework();
carTestFramework.BuildTestContext(new HongqiCarFactory);
return 0;
}
快要锁门了!,没有多少时间了!本来想解释一下!我也是看视频学来的!希望能给大家提供简单的例子!
如果不会分文件或者包含不了你可以全部写道一个大文件中!