如果有人可以解决这个问题,我将不胜感激。 我认为可行的示例(假设所需的#include语句存在):
//.h file
class someclass(){}
//.cpp
someclass::
someclass(){
//implementation
// of
//class
};
答案 0 :(得分:21)
someclass.h文件
#ifndef SOME_CLASS_H
#define SOME_CLASS_H
class someclass
{
public:
someclass(); // declare default constructor
private:
int member1;
};
#endif
someclass.cpp
someclass::someclass() // define default constructor
: member1(0) // initialize class member in member initializers list
{
//implementation
}
答案 1 :(得分:2)
如果要为其提供定义,则必须声明类中的构造函数。你只做第二件事。
此外,您的原始类定义包含一些错误:类名后不需要括号,最后一个大括号后需要分号。
class someclass
{
someClass(); // Here you DECLARE your constructor
};
...
someclass::someclass() // Here you DEFINE your constructor
{
...
}
答案 2 :(得分:2)
部首:
//.h file
class someclass
{
someclass();
}; // <-- don't forget semicolon here
来源:
#include "someClass.h"
//.cpp
someclass::someclass()
{
// Implementation goes here
} // <-- No semicolon here