類別要互相使用彼此偶爾會遇到
但是兩個類別標頭檔案(.h)中互相引用(include)彼此的標頭檔案
在 Visual C++ 2005 中會造成 compiler 不認識彼此類別
這可真是一件頭痛的事,該怎麼辦呢?

有一個方法可以解決,就是在標頭檔案中
告訴 compiler 有外部類別存在
在類別實作檔案(.cpp)中,才引用(include)彼此的標頭檔案

範例:

class A
===== A.h =====

class B;

class A
{
  A(B b);
  ~A();
};
=============


==== A.cpp ====
#include "A.h"
#include "B.h"

A::A(B b)
{
}

A::~A()
{
}
============


class B
===== B.h =====

class A;

class B
{
  B(A a);
  ~B();
};
=============


==== B.cpp ====
#include "B.h"
#include "A.h"

B::B(A a)
{
}

B::~B()
{
}
============

這樣兩個類別就可以互相使用了
arrow
arrow
    全站熱搜

    smalldd 發表在 痞客邦 留言(0) 人氣()