一、類的聲明和類的定義的區(qū)別 類的聲明: class Screen; 沒有定義類就不能定義該類的對象,因為類類型的大小不知道,但是可以聲明指向該類類型的指針或引用 只有看到了一個類的定義,才能把一個數(shù)據(jù)成員聲明成該類的對象。如果沒有該類的定義,數(shù)據(jù)成員只能是該類的指針或引用 一個類不能有自身類型的數(shù)據(jù)成員,但是,但一個類頭被看到時,它就相當(dāng)于已經(jīng)聲明過了,所以一個類可以用指向自身類型的指針或引用作為數(shù)據(jù)成員 二、對象的定義 先定義類類型,然后再定義對象 class 類名 對象名,如class Student stud1,stud2; 類名 對象名,如 Student stud1,stud2; //常用 在定義類類型的同時定義對象,在小型程序或所聲明的類只用于本程序可以用此種方法 不出現(xiàn)類名直接定義對象 三、成員函數(shù)的存儲方式 類的定義,不會引起內(nèi)存分配;用類去定義一個對象時系統(tǒng)會為每一個對象分配存儲空間 每個對象所占用的空間只是該對象的數(shù)據(jù)部分所占用的存儲空間,所有對象的成員函數(shù)對應(yīng)同一個函數(shù)代碼段 雖然調(diào)用不同對象的成員函數(shù)時都是執(zhí)行的同一段函數(shù)代碼,但是執(zhí)行結(jié)果是不同的 不同對象使用同一段函數(shù)代碼,靠this指針對不同對象中的數(shù)據(jù)進(jìn)行操作 不論成員函數(shù)是在類內(nèi)還是在類外定義,成員函數(shù)代碼的存儲方式相同 不要將成員函數(shù)的存儲方式和inline函數(shù)的概念混淆 四、類的聲明和類的定義的區(qū)別 類的聲明: class Screen; 沒有定義類就不能定義該類的對象,因為類類型的大小不知道,但是可以聲明指向該類類型的指針或引用 只有看到了一個類的定義,才能把一個數(shù)據(jù)成員聲明成該類的對象。如果沒有該類的定義,數(shù)據(jù)成員只能是該類的指針或引用 一個類不能有自身類型的數(shù)據(jù)成員,但是,但一個類頭被看到時,它就相當(dāng)于已經(jīng)聲明過了,所以一個類可以用指向自身類型的指針或引用作為數(shù)據(jù)成員
新聞熱點
疑難解答
圖片精選