用C++实现设计模式中的策略模式 (二)

2014-11-24 12:55:05 · 作者: · 浏览: 1
;
cd.set_fly(df);//设定会飞
cd.fy->can_fly();//调用duck_fly里的飞行
cd.fy->fly_way();//调用飞行方法

return 0;
}
//main.cpp

#include "cn-duck.h"
#include "duck_fly.h"

int main()
{
//给定接口,表明是duck飞
duck_fly *df=new duck_fly();

cn_duck cd;
cd.set_fly(df);//设定会飞
cd.fy->can_fly();//调用duck_fly里的飞行
cd.fy->fly_way();//调用飞行方法

return 0;
}

上面就是我的理解,欢迎提出改进意见,当然程序有点问题,就是如果没有把duck_fly对象给cn_duck时,程序没有提示,但是会报错,不过按情理来说报错也是正常的,鸭子不会非肯定报错。

下面是程序运行界面:

\