C++中功能的多重定义

Multiple definition of function in C++

本文关键字:定义 功能 C++      更新时间:2023-10-16

我遇到了一个非常不寻常的问题:

我在课堂上不断获得函数的多个定义。

这是我的主要.cpp

#include <iostream>
#include "Calculation.cpp"
using namespace std;
int main()
{
    cout << "Hello world!" << endl;
    return 0;
}

这是我的班级.h

#ifndef CALCULATION_H_INCLUDED
#define CALCULATION_H_INCLUDED
class Calculation
{
  public:
  Calculation();
  private:
};
#endif // CALCULATION_H_INCLUDED

这是我的实现文件.cpp

#include "Calculation.h"
Calculation::Calculation()
{
}

请帮助我;我试图创建一个新项目,但这没有帮助。

感谢所有帮助。

让你的主.cpp比如:

#include <iostream>
#include "Calculation.h"  // not Calculation.cpp
using namespace std;
int main()
{
    cout << "Hello world!" << endl;
    return 0;
}

你必须在 main 中包含你的 Computing.h.cpp并且你必须按如下方式编译它,

  g++ main.cpp Calculate.cpp -o main -I<path for your .h file>

主.cpp

  #include<iostream>
  #include "Calculation.h"
  //using namespace std; // Avoid this, always to use std::cout .. etc on place
  int main()
  {
      Calculation c; //Creating the object of Calculation class
      std::cout<<"Hello World!"<<std::endl;
      return 0;
  }