【C++】类的声明
類的聲明
就像可以把函數(shù)的聲明和定義分離開來一樣,我們也能僅僅聲明類而暫時不定義它:
class Screen; //Screen類的聲明這種聲明有時被稱作前向聲明(forward declaration),它向程序中引入了名字Screen并且指明了Screen是一種類類型。對于類型Screen來說,在它的聲明之后和定義之前是一個不完全類型(incomplete type),也就是說,此時我們已知Screen是一個類類型,但是不清楚它到底包含哪些成員。
不完全類型只能在非常有限的情況下使用:可以定義指向這種類型的指針或引用,也可以聲明(但是不能定義)以不完全類型作為參數(shù)或者返回類型的函數(shù)。
對于一個類來說,在我們創(chuàng)建它的對象之前必須被定義過,而不能僅僅被聲明。否則,編譯器就無法了解這樣的對象需要多少存儲空間。類似的,類也必須首先被定義(然后才能創(chuàng)建它的對象),再然后才能用引用或指針訪問其成員。畢竟,如果類尚未定義,編譯器也就不清楚該類到底有哪些成員。
然而,一旦一個類的名字出現(xiàn)后,它就被認(rèn)為是聲明過了(但尚未定義),因此類允許包含指向它自身類型的引用或指針。
class Link_screen {Screen Window;Link_screen* next;Link_screen* prec; };?
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
- 上一篇: linux gedit如何保存 退出
- 下一篇: C++类中不能定义自身类类型成员变量