在.cpp文件中初始化虚函数

时间:2015-11-16 03:05:03

标签: c++

我已经查找了如何从.h文件初始化函数,并知道在声明我所做的函数时调用virtual

.h file

class Stuff{
public:
    virtual void dostuff(double x);
};

但是当我尝试初始化.cpp文件中的函数时,我不断出现红线错误。

.cpp file

Stuff:: dostuff(double x) = 0;

这给了我一个“Stuff :: dostuff”可能不会在其课外重新声明。

void dostuff(double x) = 0;

给我功能“dostuff”可能无法初始化。我在.cpp文件中包含dostuff.h文件。我的问题是如何正确初始化.cpp文件中的虚函数?

2 个答案:

答案 0 :(得分:1)

  

但是当我尝试初始化.cpp文件中的函数时,我不断出现红线错误。

您无法在C ++中初始化函数。您只能声明和定义它们。

您已经在类定义的主体内声明了该函数。如果要定义该功能,则需要使用:

void Stuff::dostuff(double x) { ... }

答案 1 :(得分:1)

如果你想创建一个纯虚函数,你必须在类中声明时将其声明为零:

virtual void dostuff(double x) = 0;

您不能重新声明它。

相关问题