類別要互相使用彼此偶爾會遇到
但是兩個類別標頭檔案(.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()
{
}
============
這樣兩個類別就可以互相使用了
全站熱搜