C ++ / CLI虚方法,不能在派生类中使用虚方法

时间:2014-04-07 11:48:45

标签: visual-c++ c++-cli managed-c++

Okei,我已经不再使用C ++ / CLI,所以这应该是一个简单的问题。 我正在尝试使用抽象类中的虚方法。

这是我的代码:

// Figurer.h

#pragma once

using namespace System;

namespace Figurer {

public ref class Figur
{
public:
    virtual double areal();
    virtual double omkrets();
};

public ref class Sirkel : public Figur
{
private:
    double radius;
    double static PI = 3.141593;
public:
    Sirkel(double sirkelradius){
        radius = sirkelradius;
    }
    double areal(){
        return radius * radius * PI;
    }

};
}

Visual Studio告诉我:错误:'new'或'override'是必需的,因为这个声明匹配函数“Figurer :: Figur :: areal”

1 个答案:

答案 0 :(得分:0)

您发布了错误消息和解决方案:

Error: 'new' or 'override' is required because this declaration matches function "Figurer::Figur::areal"

因此您需要在函数签名前使用newoverride

virtual double areal() override  {
    return radius * radius * PI;
}

另请参阅:http://msdn.microsoft.com/en-us/library/41w3sh1c.aspx