1个回答
展开全部
我的理解是你的父类指针是通过子类指针赋值的,然后想知道是那个子类指针给当前的父类指针赋的值,你可以通过动态转换,再把父类指针转换成原来的子类指针
Child* pChild = dynamic_cast<Parent* > pParent ;
如果转换的结果 pChild不为NULL,说明原先赋值给父类指针的子类就是这个子类,你可以一个一个尝试
Child* pChild = dynamic_cast<Parent* > pParent ;
如果转换的结果 pChild不为NULL,说明原先赋值给父类指针的子类就是这个子类,你可以一个一个尝试
追问
dynamic_cast<里面是子类吧。。。假设有许多子类,有的甚至你都不知道子类的名字,一个一个尝试是不可能的,有没有别的方法能获取到指针指向的实际大小,像typeid 可以获取到实际类名一样?(父类有虚函数)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询