设计模式---工厂(C++版) 希望大家顶一下

//接口类(文件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;
}

 快要锁门了!,没有多少时间了!本来想解释一下!我也是看视频学来的!希望能给大家提供简单的例子!

如果不会分文件或者包含不了你可以全部写道一个大文件中!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值