У меня есть два класса, как это:
// parent.h
class Parent {
public:
virtual void Method() = 0;
}
и
//child.h
#include "parent.h"
class Child : public Parent {
public:
Child();
~Child();
virtual void Method();
}
<Ч />
//child.cpp
#include "child.h"
Child::Child() { }
Child::~Child() { }
void Child::Method() { }
+
void main() {
Parent* p = new Child();
}
Это прекрасно работает с g ++ в Linux, но когда я пытаюсь применить тот же шаблон в VS 2010, я получаю:
error C2259: 'Child' : cannot instantiate abstract class
Есть идеи, почему?