解决c++头文件结构类似嵌套问题
来源:互联网 发布:js ajax实例 编辑:程序博客网 时间:2024/05/29 09:57
有一个Road类,有一个Intersection类,Road类中要含有两个节点Intersection的信息, Intersection要有相邻路的信息列表。
于是Road.h中这样定义:
class Road
...{
private:
Intersection * from;
Intersection * to;
public:
........
}
...{
private:
Intersection * from;
Intersection * to;
public:
........
}
Intersection.h中这样定义:
class Intersection
...{
private:
list<Road*> roadNext;
public:
.......
}
...{
private:
list<Road*> roadNext;
public:
.......
}
很可惜这样编译通不过,编译器会报找不到类型错误。
于是在Intersection类中添加一行代码
class Road;
在Road.h中导入Intersection的文件#include"Intersection.h"
这样编译应该没有问题。(如果函数中没有出现Road类型或者 Intersection类型的话)
但如果函数中有Road类型或者 Intersection类型又怎么办呢?
创建Road.cpp和Intersection.cpp文件
在*.h中只是写函数的声明,在cpp文件中写函数定义,并导入两个.h文件。例如:
#include"Road.h"
#include"Intersection.h"
void Intersection::InsertRoad(Road * r)
...{
roadNext.insert(roadNext.begin,r);
}
#include"Intersection.h"
void Intersection::InsertRoad(Road * r)
...{
roadNext.insert(roadNext.begin,r);
}
- 解决c++头文件结构类似嵌套问题
- 头文件中多层结构体嵌套的结构体定义问题
- C++中头文件嵌套定义问题
- 预编译头文件解决C/C++混合编程问题
- 预编译头文件解决C/C++混合编程问题
- 解决C/C++ 头文件相互包含 问题的方法
- 解决C/C++ 头文件相互包含 问题的方法
- 解决C/C++ 头文件相互包含 问题的方法
- c++:头文件包含问题
- 使用预声明解决结构体互相引用以及头文件内容互相包含的问题
- 使用预声明解决结构体互相引用以及头文件内容互相包含的问题
- c语言数组、结构、源文件、头文件
- 头文件中结构体命名问题
- Eclipse找不到C\C++头文件解决
- 解决头文件包含全局变量的问题
- C ++头文件的十大错误,如何解决这些问题
- 为什么C++标准头文件都有类似以下的结构?
- 16.为什么标准头文件都有类似以下的结构?
- VS2005自带个人网站学习工具~研究 (1)
- ==和equals方法
- Z-Buffer 与 W-Buffer
- CALL BACK
- 本博第一帖
- 解决c++头文件结构类似嵌套问题
- 利用CVSNT在Eclipse中使用CVS--1.安装与配置CVSNT
- 深入理解和改进JSP/Servlet会话管理机制
- oracle利用触发器实现主键的自动增加
- 利用CVSNT在Eclipse中使用CVS--2.在eclipse中配置CVS client
- 利用CVSNT在Eclipse中使用CVS--3.创建一个CVS实例
- 网页弹出广告代码
- java关于日期的运算等处理方法
- CSDN