class Base
{
int n;
public:
Base(int n)
: n(n)
{}
...
}
class Derived : Base
{
public:
Derived(int n)
: Base(n)
{}
}
void function()
{
Derived* obj = new Derived(10);
...
delete obj;
}
我遇到与上述代码类似的情况,其中派生只是 Base 的包装。要在功能中访问该对象,我会故意使用派生指针。我的理解是它在堆上分配的整个对象,包括 Base 部分,并且删除回收所有内存,即使我使用 Derived 指针和基础不是多态的。这是正确的还是还有更多的东西?
由于