我有一个课程calendar
和一个继承自extendedCalendar
calendar
我希望能够在main中创建两个类的对象,所以我在main.cpp
中包含了两个标题:
#include "calendar.h"
#include "extendedCalendar.h"
问题是extendedCalendar.h
标题中还有#include "calendar.h"
,因此编译器给出了一个错误:
'calendar':'class'类型重新定义
我怎么能绕过这个?
答案 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