c++中的前向声明
前向聲明:
可以聲明一個(gè)類而不定義它。這個(gè)聲明,有時(shí)候被稱為前向聲明(forward declaration)。在聲明之后,定義之前,類Screen是一個(gè)不完全類型(incompete type),即已知Screen是一個(gè)類型,但不知道包含哪些成員。不完全類型只能以有限方式使用,不能定義該類型的對(duì)象,不完全類型只能用于定義指向該類型的指針及引用,或者用于聲明(而不是定義)使用該類型作為形參類型或返回類型的函數(shù)。
類的前向聲明之適用于指針和引用的定義,如果是普通類類型就得使用include了。
?
?
?
前向聲明好處是:?
不必要的#include?? 會(huì)增加編譯時(shí)間.?
混亂隨意的#include可能導(dǎo)致循環(huán)#include,可能出現(xiàn)編譯錯(cuò)誤.
?
來(lái)自 <https://blog.csdn.net/heyutao007/article/details/6649741>
- A* m_a; //(或者A m_a)
- }
- public:
- {
- class B
- #include "A.h"
- A* m_a; //(不能A m_a)
- }
- public:
- {
- class A;
- class B
總結(jié)
- 上一篇: 优秀的产品经理和一般的产品经理之间的区别
- 下一篇: c++ 一个头文件引用另一个头文件的类