错误:类的重新定义(C ++)

时间:2015-11-25 00:22:43

标签: c++ class redefinition

我想弄清楚为什么我收到以下错误:

错误:重新定义'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();                     
};

1 个答案:

答案 0 :(得分:3)

错误可能是因为您在TimeDuration.h中没有标题保护

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

#ifndef TIME_DURATION_H
#define TIME_DURATION_H

并在文件的末尾:

#endif