我有一个帐户类 从那我有3种类型的帐户 储蓄,信贷和家庭贷款。
我创建了一个二叉搜索树,将所有帐户保存为类型帐户
我现在如何根据对象的类型访问子类的方法?
已经通过语法和代码解决了所有错误,但是这个。
已经绞尽脑汁待了2天。有谁知道这是怎么做的?答案 0 :(得分:3)
简单的答案是,如果需要从基类指针访问派生类功能,则会遇到设计问题。原则上,你不应该知道。如果你这样做,那就错了。 你应该(纯粹意义上)从基类接口调用虚函数,并让派生类实现它们的覆盖,使它们正确执行。
现在,有时,实际上,你必须这样做。所以有可能是一个沮丧的人。如果构建中有运行时类型信息,则可以执行dynamic_cast<type*>
,如果返回的指针为非空,则表示您拥有该类型的实例。
如果你沿着这条路走下去,把它包裹在一个整洁的东西中,不要让它扩散 - 它会变得混乱。我建议你看看是否有更好的方法,使用多态。
玩得开心!