我有这堂课:
class A
{
public :
int Echo (int param)
{
int num = param + 5;
return num;
}
}
然后在我的Header.h中我提出了以下定义:
#ifndef A_H
#define A_H
class A
{
public :
int Echo (int param1)
{
return num;
}
#endif
我有这些问题:
1-如何在Header.h中定义类?它们是否应该与原始* .cpp文件完全相同,或者它们的签名是否足够?
2- Header文件中的定义是否应附带函数的return语句?像这样:
int Echo(int param)
{
return num;
}
我问过类似的问题,但问题不同,StackOverflow中编辑导致完全不同的问题陈述的问题是不可接受的。
答案 0 :(得分:2)
您的头文件应如下所示:
//something.h
#ifndef A_H
#define A_H
class A{
public :
int Echo (int param1);
};
#endif
这被称为制作函数原型。您将函数的实际主体放在.cpp文件中:
//something.cpp
#include "main.h"
int A::Echo (int param)
{
int num = param + 5;
return num;
}
从您的主文件,包括头文件,它应该工作。将.cpp文件提供给编译器(如果您使用的是IDE,它将为您执行此操作) 示例主文件:
#include <iostream>
#include "main.h"
using namespace std;
int main()
{
cout << "Hello World" << endl;
A a;
cout << a.Echo(10) << endl;
return 0;
}