Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15182615
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: C/C++

2008-05-30 18:23:34

 有一个Road类,有一个Intersection类,Road类中要含有两个节点Intersection的信息, Intersection要有相邻路的信息列表。
于是Road.h中这样定义:
 
class Road
...{
    private:
        Intersection * from;
        Intersection * to;
   public:
   ........
}
Intersection.h中这样定义:
 
class Intersection
...{
    private:
        list 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);
}编译。。。通过
阅读(352) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~