在C++中,使用基类指针查找派生类对象的大小是不可行的。因为基类指针不能直接访问派生类对象的大小,因为它不包含派生类对象的信息。
如果您想要查找派生类对象的大小,您可以使用以下方法之一:
sizeof
运算符:sizeof(派生类对象)
将返回派生类对象的大小。virtual size_t getSize() const = 0;
,然后在派生类中重写该函数,返回派生类对象的大小。例如:
class Base {
public:
virtual size_t getSize() const = 0;
};
class Derived : public Base {
public:
virtual size_t getSize() const {
return sizeof(Derived);
}
};
int main() {
Base* basePtr = new Derived();
size_t derivedSize = basePtr->getSize();
delete basePtr;
return 0;
}
在这个例子中,getSize()
函数在基类中声明为虚函数,并在派生类中重写,以便返回派生类对象的大小。通过使用基类指针 basePtr
,我们可以调用 getSize()
函数来获取派生类对象的大小。
领取专属 10元无门槛券
手把手带您无忧上云