首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++多态性类继承实现有关问题

2012-09-19 
c++多态性类继承实现问题我用C++编写一个宿舍楼管理系统,纯字符界面操作。在一个基类中有addInformation(in

c++多态性类继承实现问题
我用C++编写一个宿舍楼管理系统,纯字符界面操作。在一个基类中有addInformation(in object: Object):int函数,在其派生类中有addInformation(in object: Building):int 函数和addInformation(in object:Floor):int 等函数函数,其中Building和Floor分别是一个类,请问用C++的多态性怎么实现这样的继承关系? 请教源代码或者思路,谢谢!UML类图如下所示:


[解决办法]
在基类中定义一个基类指针,在实现子类特定代码时,用基类指针指向其特定的子类,从而就实现了多态性,比一般的代码更灵活,再有在基中把所有子类共同的行为提取出来,在子类中实现,这样代码就很美了。
[解决办法]

C/C++ code
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; 

热点排行