c++多态性类继承实现问题
我用C++编写一个宿舍楼管理系统,纯字符界面操作。在一个基类中有addInformation(in object: Object):int函数,在其派生类中有addInformation(in object: Building):int 函数和addInformation(in object:Floor):int 等函数函数,其中Building和Floor分别是一个类,请问用C++的多态性怎么实现这样的继承关系? 请教源代码或者思路,谢谢!UML类图如下所示:
[解决办法]
在基类中定义一个基类指针,在实现子类特定代码时,用基类指针指向其特定的子类,从而就实现了多态性,比一般的代码更灵活,再有在基中把所有子类共同的行为提取出来,在子类中实现,这样代码就很美了。
[解决办法]
template <class T>class CBase{public: int addInformation(T object);};template <class T>class CChild : public CBase<T>{public: int addInfomation(T object);};CBase<Building>* pBaseBuilding = new CChild<Building>;CBase<Floor>* pBaseFloor = new CChild<Floor>;Building buildingObject;Floor floorObject;pBaseBuilding->addInfomation(buildingObject);pBaseFloor->addInfomation(floorObject);delete pBuilding;delete pFloor;