【发布时间】:2016-09-02 17:28:30
【问题描述】:
假设我们有一个 BaseClass Character 和三个 SubClasses Good、Bad、Zombie。 还假设我们有两个指针
Character* ptr1,ptr2;
Good、Bad 或 Zombie 类中的那一点。我想创建这样的一部分代码:
if ((ptr1 "shows" Good)&&(ptr2 "shows" Bad)) {...}
else if ((ptr1 "shows" Good)&&(ptr2 "shows" Zombie)) {...}
else if ...
等等。我怎么能写出这样的声明?我很难理解虚函数、多态性和继承,但也可以随意解释这些。
谢谢你,提前。
【问题讨论】:
-
您可以使用
dynamic_cast来检查ptr#是否可以转换为任一派生类。 -
(
ptr2未声明为指针)
标签: c++ class pointers subclass derived-class