Error: Redefinition of Class (C++)

Error: Redefinition of Class (C++)

我正在尝试找出出现以下错误的原因:

错误:重新定义'TimeDuration'

// TimeDuration.cpp

#define HOUR 3600
#define MIN 60

#include <iostream>
#include <string>
#include "TimeDuration.h"

using namespace std;

TimeDuration::TimeDuration() {
    seconds = 0;
}

void TimeDuration::setDuration(const int sec) {
    seconds = sec;
}

void TimeDuration::display() {
    // Some code to display the time
}

错误显示在我的头文件中。

// TimeDuration.h

class TimeDuration {
    private:
        int seconds;
    public:
        TimeDuration();                     
        void setDuration(const int sec);    
        void display();                     
};

这个错误可能是因为你在TimeDuration.h

中没有header个守卫

header 保护的标准方法是在文件开头写入:

#ifndef TIME_DURATION_H
#define TIME_DURATION_H

并在文件末尾:

#endif