C++两个头文件互相包含对方,编译无法通过怎么办
c++作业要设计两个类,一个Line类,一个Point类,而且这两个类的声明与定义要分开写,而这两类在定义时都要用到另外一个类,所以我在Line.h里用了Point.h,...
c++作业要设计两个类,一个Line类,一个Point类,而且这两个类的声明与定义要分开写,而这两类在定义时都要用到另外一个类,所以我在Line.h里用了Point.h,在Point.h里用了Line.h,但是编译通过不了,我应该怎么改啊?
展开
2个回答
展开全部
这是因为头文件只能包含一次,可以用宏定义来解决这个问题。在你的Line和Point两个.h文件中分别加入下面的代码:
//Line.h
#ifndef _LINE_H
#define _LINE_H
// 你自己的代码
#endif
//---------------------------------------------
// Point.h
#ifndef _POINT_H
#define _POINT_H
// 你自己的代码
#endif
其次,如果是VC,在这两个头文件最开头加
#pragma once
也能达到同样效果。
谢谢,望采纳。
追问
谢谢!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询