一。光头强转行
1.1 团结屯的故事
我是光头强。以前,我每天的生活就是被两头臭狗熊按在地上摩擦,不仅树砍不到,还要承受李老板的夺命连环 Call 和扣工资威胁。
直到有一天,我捡到了一本《C++ Primer》。那一刻,我悟了!砍树是没有前途的,计算机才是第一生产力!
我狠下心来闭关修炼,左手 C++,右手面向对象(OO),发际线虽然更高了,但我感觉自己强得可怕。于是,我把电锯一扔,拿起键盘,给李老板发了辞职信:'世界那么大,我想去敲代码。'
李老板一听我要走,顿时慌了:'强子!你走了,《熊出没》还怎么拍?这动画片没反派怎么行?这样,工资翻倍,给你安排新岗位:首席架构师。你给我开发一个《狗熊模拟器》!'
为了那点窝囊费……啊不,为了展现我的技术。
1.2 新工作,新需求
项目需求文档 - 《狗熊模拟器 v1.0》
- 甲方:李老板
- 描述:模拟团结屯狗熊的习性。
- 功能点:冬眠、爬树、居住习惯,以及最喜欢的食物。
二。光头强的 OO 天赋
看完需求,我嘴角上扬。这不就是典型的继承题吗?既然熊大熊二都住在团结屯,除了吃的口味不同,其他行为(冬眠、爬树、住树洞)完全一致。我决定使用继承大法,主打一个代码复用,少写一行是一行。
class Bear {
public:
virtual std::string FavoriteFood() = 0;
void Hibernation() { std::cout << "进行冬眠" << std::endl; }
void ClimbTree() { std::cout << "会爬树" << std::endl; }
void LivingHabit() { std::cout << "住在树洞里面" << std::endl; }
protected:
};
class XiongDa : public Bear {
public:
std::string FavoriteFood() override { return "苹果"; }
};
: Bear {
:
{ ; }
};


