1

我有一个类calendar和一个extendedCalendar继承自的类calendar

我希望能够在 main 中创建两个类的对象,因此我将它们的两个标题都包含在main.cpp

#include "calendar.h"
#include "extendedCalendar.h"

问题是它的头文件中extendedCalendar.h也有#include "calendar.h",所以编译器给了我一个错误:

“日历”:“类”类型重新定义

我该如何规避这个?

4

1 回答 1

4

您需要在标题中使用包含防护。

//extendedCalendar.h
#ifndef EXTENDED_CALENDAR
#define EXTENDED_CALENDAR

//body of header

#endif

//calendar.h
#ifndef CALENDAR
#define CALENDAR

//body of header

#endif

如果您使用的是 MSVS,则可以使用

#pragma once
于 2012-05-16T17:54:07.890 回答