VC ++继承自抽象类

时间:2011-03-10 21:15:09

标签: class visual-c++ abstract

我有两个这样的课程:

// 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();
}

这适用于Linux上的g ++,但是当我尝试在VS 2010中应用相同的模式时,我得到:

error C2259: 'Child' : cannot instantiate abstract class

任何想法为什么?

1 个答案:

答案 0 :(得分:0)

我认为您需要在头文件中的函数签名之前添加public:。 g ++可能会将其解释为私​​有函数。