数组多态问题!!!
源程序如下:
#include <iostream>
using namespace std;
class Base
{
public:
virtual ~Base() { cout<<"Base dec"<<endl; };
};
class Derived : public Base
{
public:
~Derived() { cout<<"Derived dec"<<endl; };
};
void delArray(Base a[])
{
delete[] a;
}
void main()
{
Base* da = new Derived[1];
delArray(da);
}
(1)C++ builder之输出:
Base dec
(2)vc++之输出:
Derived dec
Base dec
到底谁对谁错?
我看了More Effective c++一书中的第三条,感觉一塌糊涂!请高手解答!