确定多态C++类的大小

Ton*_*ony 5 c++ polymorphism sizeof

使用sizeof运算符,我可以确定任何类型的大小 - 但是如何在运行时动态确定多态类的大小?

例如,我有一个指向a的指针Animal,我想得到它指向的实际对象的大小,如果它是a Cat或a ,它将是不同的Dog.有没有一种简单的方法可以做到这一点,缺少创建虚拟方法Animal::size并重载它以返回sizeof每种特定类型?

sbi*_*sbi 6

如果您知道可能类型的集合,则可以使用RTTI通过执行来查找动态类型dynamic_cast.如果不这样做,唯一的方法是通过虚函数.