深圳租赁住房和建设局网站企业网站建设公司网络服务
web/
2025/10/7 18:23:22/
文章来源:
深圳租赁住房和建设局网站,企业网站建设公司网络服务,seo 网站两个ip,外贸企业招聘2023年8月25日#xff0c;周五上午
今天上午学习设计模式中的策略模式时#xff0c;发现这个有点像很多卡通片里面的变身器... #includeiostream//alien hero是外星英雄的意思
//在《少年骇客》中#xff0c;主角可以通过变身器变成10种外星英雄
class AlienHero{
…2023年8月25日周五上午
今天上午学习设计模式中的策略模式时发现这个有点像很多卡通片里面的变身器... #includeiostream//alien hero是外星英雄的意思
//在《少年骇客》中主角可以通过变身器变成10种外星英雄
class AlienHero{
public://Shapeshift是变身的意思virtual void Shapeshift()0;
};//变成超能兽
class Wildmutt:public AlienHero{
public:void Shapeshift(){std::cout变身!超能兽std::endl;}
};//变成四手霸王
class FourArms:public AlienHero{
public:void Shapeshift(){std::cout变身!四手霸王std::endl;}
};//变成小奇兵
class GreyMatter:public AlienHero{
public:void Shapeshift(){std::cout变身!小奇兵std::endl;}
};//变成快闪之星
class Kineceleran:public AlienHero{
public:void Shapeshift(){std::cout变身!快闪之星std::endl;}
};//主角手上那个手表变身器就叫Omnitrix
class Omnitrix{AlienHero *ah;
public:Omnitrix(AlienHero *ah){this-ahah;}//在手表变身器上选好英雄后按下手表变身器中间的按钮变身void push(){ah-Shapeshift();}
};int main(){//变身超能兽Omnitrix omx(new Wildmutt());omx.push();
} 使用策略模式的好处是
当我需要添加一种新的外星英雄——Upgrade变形怪时
我不需要改动里面的任何代码只需要基于抽象类AlienHero再添加一个新类Upgrade就可以了。
#includeiostream//alien hero是外星英雄的意思
//在《少年骇客》中主角可以通过变身器变成10种外星英雄
class AlienHero{
public://Shapeshift是变身的意思virtual void Shapeshift()0;
};//变成超能兽
class Wildmutt:public AlienHero{
public:void Shapeshift(){std::cout变身!超能兽std::endl;}
};//变成四手霸王
class FourArms:public AlienHero{
public:void Shapeshift(){std::cout变身!四手霸王std::endl;}
};//变成小奇兵
class GreyMatter:public AlienHero{
public:void Shapeshift(){std::cout变身!小奇兵std::endl;}
};//变成快闪之星
class Kineceleran:public AlienHero{
public:void Shapeshift(){std::cout变身!快闪之星std::endl;}
};
//*******************************
// 新添加的类
//********************************
//变成变形怪
class Upgrade:public AlienHero{
public:void Shapeshift(){std::cout变身!变形怪std::endl;}
};//主角手上那个手表变身器就叫Omnitrix
class Omnitrix{AlienHero *ah;
public:Omnitrix(AlienHero *ah){this-ahah;}//在手表变身器上选好英雄后按下手表变身器中间的按钮变身void push(){ah-Shapeshift();}
};int main(){//变身变形怪Omnitrix omx(new Upgrade());omx.push();
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88618.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!