1. 程式人生 > >C++ 前向引用宣告

C++ 前向引用宣告

類應該先宣告,後使用

如果需要在某個類的宣告之前,引用該類,則應進行前向引用宣告

前向引用宣告只為程式引用一個識別符號,但具體宣告在其他地方

例:

class B;  //前向引用宣告
class A {
public:
  void f(B b);
};
class B {
public:
  void g(A a);
};

前向引用宣告注意事項

l使用前向引用宣告雖然可以解決一些問題,但它並不是萬能的。

l在提供一個完整的類宣告之前,不能宣告該類的物件,也不能在內聯成員函式中使用該類的物件。

l當使用前向引用宣告時,只能使用被宣告的符號,而不能涉及類的任何細節。

例:

class Fred; //前向引用宣告
class Barney {
   Fred x; //錯誤:類Fred的宣告尚不完善
};
class Fred {
   Barney y;
};