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时,程序没有提示,但是会报错,不过按情理来说报错也是正常的,鸭子不会非肯定报错。
下面是程序运行界面:
