我已经查找了如何从.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文件中的虚函数?
答案 0 :(得分:1)
但是当我尝试初始化.cpp文件中的函数时,我不断出现红线错误。
您无法在C ++中初始化函数。您只能声明和定义它们。
您已经在类定义的主体内声明了该函数。如果要定义该功能,则需要使用:
void Stuff::dostuff(double x) { ... }
答案 1 :(得分:1)
如果你想创建一个纯虚函数,你必须在类中声明时将其声明为零:
virtual void dostuff(double x) = 0;
您不能重新声明它。