重新定义类c ++头文件

时间:2014-01-21 22:54:34

标签: c++ file header

主要班级:

#include "otherClass.h"
using namespace std;

int main()
{
a cl;
return 0;
}

标题文件:

#ifndef OTHERCLASS_H_INCLUDED_
#define OTHERCLASS_H_INCLUDED_
class a{
int add(int a, int b);
int subtract(int a, int b);
};
#endif


The .cpp class that the header files corresponds to


#include "otherClass.h"
class a { 
int add(int a, int b) {
return (a + b);
}

int subtract(int a, int b) {
return (a - b);
}
};

错误:

  

Text.cpp:13:错误:未在此范围内声明“cl”   otherClass.cpp:3:错误:重新定义'class a'otherClass.h:3:   错误:先前对'class a'的定义

我有两个问题:首先,在我的头文件中添加一个类之前,该文件工作正常(只是保存函数)。一旦我添加了类,我就得到了上面两个错误。有人可以告诉我如何安排我的头文件来修复这些错误吗?即我想知道如何为包含类的文件创建头文件。

其次,如何获取它以便在主函数的范围内声明类?

2 个答案:

答案 0 :(得分:2)

这是您在.cpp文件中定义类成员函数的方法:

#include "otherClass.h"

int a::add(int a, int b) {
  return (a + b);
}

int a::subtract(int a, int b) {
  return (a - b);
}

请注意,您已声明成员private,因此您无法对其进行太多操作。

答案 1 :(得分:2)

删除

class a {

和最后的

};

来自.cpp文件

(并根据以前的答案向方法添加::)