今天看了马士兵老师的视频,里面有个农场和小母牛的面试题,题目是这样的:
农场一头小母牛,
母牛五岁产母牛,
每年生头小母牛,
二十年有多少牛。
网上有很多网友分享了JAVA的解决方案,但是都是一样的,自己写了一个C++版本的,个人认为还是有很多缺陷的,希望各位大神多多指点。
首先,应该有个农场类,农场里面有动物,所以需要一个动物类的接口,奶牛类继承动物类。具体头文件如下:
//CFarm.h
#ifndef CFARM_H
#define CFARM_H
#include <vector>
#include "IAnimal.h"
using namespace std;
class CFarm
{
public:
CFarm();
int getNum();
void add(IAnimal *pAnimal);
IAnimal* getAnimal(int index);
private:
vector<IAnimal *> vetAnimal;
};
#endif
//IAnimal.h
#ifndef IANIMAL_H
#define IANIMAL_H
class IAnimal
{
public:
IAnimal(){};
virtual void bearing(){};
};
#endif
//CCow.h
#ifndef CCOW_H
#def