如何在项目(类)中使用两个.cpp文件?

时间:2015-11-08 06:40:01

标签: c++

如何在项目中使用两个.cpp文件?

main.cpp

#include "second.h"
int main () {
    secondFunction();
}

second.h

void secondFunction();

second.cpp

#include "second.h"
void secondFunction() {
   // do stuff
}

它有效,但是当我使用课程时,它无法正常工作。

empoyee.h

class employee {
public:
void paymentmethod();
};

employee.cpp

 #include "employee.h"
 void employee::paymentmethod() {
 //code
   }

main.cpp

#include "employee.h"
main()
{  employee em;
 em.paymentmethod()

}

我在.cpp声明中发现了错误。

1 个答案:

答案 0 :(得分:0)

我不确定你要做的是什么,但这里有一些提示:

  • 每个头文件都应包含您将用于该文件或类的所有头文件。
  • 与特定头文件对应的每个cpp文件都应仅包含该头文件。
  • 您的main.cpp应包含您用于程序的所有标头。

您的代码应如下所示:

// main.cpp
#include "second.h"
#include "employee.h"

int main(){
//code
}

在您的其他文件中:

//second.h

//includes here
void function();
//---------------------------------------------

//second.cpp
#include "second.h"

void function(){ //code }

//---------------------------------------------

//employee.h

//includes here

class employee{
public:
     void payment();
//ctor, dtor, and other declarations
}

//---------------------------------------------

//employee.cpp

#include "employee.h"

void employee::payment(){ //code }

//rest of methods

不幸的是,如果在同一程序中多次包含相同的标头,则会出现构建问题。因此,对于所有头文件,您应该实现此保护:

#ifndef __MYCLASS_H__
#define __MYCLASS_H__

//includes

class MyClass{
//declarations
}

#endif