新手学习C++,虚析构代码的结果请大家帮分析下?该怎么解决

新手学习C++,虚析构代码的结果请大家帮分析下?#include iostreamusing namespace stdclass Parent{publ

新手学习C++,虚析构代码的结果请大家帮分析下?
#include <iostream>
using namespace std;

class Parent{
public:
Parent(){cout << "Parent" << endl;}
virtual ~Parent(){cout << "~Parent" << endl;}
virtual void show(){}
};
class Child : public Parent{
public:
Child(){cout << "Child" << endl;}
virtual ~Child(){cout << "~Child" << endl;}
};

int main()
{
Parent* p = new Child;
delete p;
}

请问红色一句,是创建的子类对象还是父类对象呢?为什么呢?请大家指教。。。

[解决办法]
new Child
当然是子类对象了,但是指针类型是父类的。
[解决办法]
这就是多态的由来。由于我们不确定对象是什么形态,所以我们才用父类的指针指向子类的对象。
红色的那句创建的是子类的对象。
我觉得楼主可以回去好好的看下关于多态的这方面的书。
[解决办法]
Parent* p = new Child;
//调用Child构造,动态生成,也需要动态释放。
[解决办法]
创建的是子类的对象。如果C++的书上没有这方面的解释的话,可以把书扔掉了。