在main中包含基类和继承类的标头

时间:2012-05-16 17:51:37

标签: c++

我有一个课程calendar和一个继承自extendedCalendar

的课程calendar

我希望能够在main中创建两个类的对象,所以我在main.cpp中包含了两个标题:

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

问题是extendedCalendar.h标题中还有#include "calendar.h",因此编译器给出了一个错误:

  

'calendar':'class'类型重新定义

我怎么能绕过这个?

1 个答案:

答案 0 :(得分: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