我是C++中的新手。我正在学习C++ oops概念。 是否允许使用派生类(D)分配基类(B)指针的内存?使用派生类分配基类指针的内存
B *a = new D();
我的代码:
#include <iostream>
using namespace std;
class B
{
public:
B()
{
cout<<"B constructor"<<endl;
}
~B()
{
cout<<"B Destroctur"<<endl;
}
};
class D : public B
{
public:
D()
{
cout<<"D constructor"<<endl;
}
~D()
{
cout<<"D Destroctur"<<endl;
}
};
int main()
{
B *a = new D();
delete a; // Is valid?
}
而且,它是有效的释放基类指针的内存?
delete a;
http://stackoverflow.com/questions/461203/when-to-use-virtual-destructors – SingerOfTheFall
有作为“基类指针的记忆”没有这样的事。 – immibis
这是一个开始学习基础知识的好地方:http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list – user2079303