1.變量是程序可操作的存儲(chǔ)區(qū)的名稱。每一個(gè)變量都有一個(gè)內(nèi)存位置,每一個(gè)內(nèi)存位置都定義了可使用連字號(&)運(yùn)算符訪問的地址
2.類型決定變量存儲(chǔ)空間的大小和布局呐馆。
3.C++是大小寫敏感的掩驱。
4.在程序中浅萧,局部變量和全局變量的名稱可以相同降淮,但是在函數(shù)內(nèi),局部變量的值會(huì)覆蓋全局變量的值搏讶。
5.下面是一個(gè)指向整數(shù)的指針數(shù)組的聲明:
int *ptr[MAX];
6.每一個(gè)對象都能通過 this 指針來訪問自己的地址佳鳖。this 指針是所有成員函數(shù)的隱含參數(shù)。因此媒惕,在成員函數(shù)內(nèi)部系吩,它可以用來指向調(diào)用對象。友元函數(shù)沒有 this 指針妒蔚,因?yàn)橛言皇穷惖某蓡T穿挨。只有成員函數(shù)才有 this 指針。
7.一個(gè)指向 C++ 類的指針與指向結(jié)構(gòu)的指針類似肴盏,訪問指向類的指針的成員科盛,需要使用成員訪問運(yùn)算符 ->,就像訪問指向結(jié)構(gòu)的指針一樣菜皂。與所有的指針一樣贞绵,您必須在使用指針之前,對指針進(jìn)行初始化恍飘。
8.·我們可以使用 static 關(guān)鍵字來把類成員定義為靜態(tài)的榨崩。當(dāng)我們聲明類的成員為靜態(tài)時(shí)谴垫,這意味著無論創(chuàng)建多少個(gè)類的對象,靜態(tài)成員都只有一個(gè)副本母蛛。
· 如果把函數(shù)成員聲明為靜態(tài)的翩剪,就可以把函數(shù)與類的任何特定對象獨(dú)立開來。靜態(tài)成員函數(shù)即使在類對象不存在的情況下也能被調(diào)用彩郊,靜態(tài)函數(shù)只要使用類名加范圍解析運(yùn)算符 :: 就可以訪問前弯。
·靜態(tài)成員函數(shù)只能訪問靜態(tài)成員數(shù)據(jù)、其他靜態(tài)成員函數(shù)和類外部的其他函數(shù)焦辅。
·靜態(tài)成員函數(shù)有一個(gè)類范圍博杖,他們不能訪問類的 this 指針。
類中特殊成員變量的初始化問題:
常量變量:必須通過構(gòu)造函數(shù)參數(shù)列表進(jìn)行初始化筷登。
引用變量:必須通過構(gòu)造函數(shù)參數(shù)列表進(jìn)行初始化剃根。
普通靜態(tài)變量:要在類外通過"::"初始化。
靜態(tài)整型常量:可以直接在定義的時(shí)候初始化前方。
靜態(tài)非整型常量:不能直接在定義的時(shí)候初始化狈醉。要在類外通過"::"初始化。
9.一個(gè)派生類繼承了所有的基類方法惠险,但下列情況除外:
基類的構(gòu)造函數(shù)苗傅、析構(gòu)函數(shù)和拷貝構(gòu)造函數(shù)。
基類的重載運(yùn)算符班巩。
基類的友元函數(shù)渣慕。
10.類重載、覆蓋抱慌、重定義之間的區(qū)別:
重載指的是函數(shù)具有的不同的參數(shù)列表逊桦,而函數(shù)名相同的函數(shù)。重載要求參數(shù)列表必須不同抑进,比如參數(shù)的類型不同强经、參數(shù)的個(gè)數(shù)不同、參數(shù)的順序不同寺渗。如果僅僅是函數(shù)的返回值不同是沒辦法重載的匿情,因?yàn)橹剌d要求參數(shù)列表必須不同。(發(fā)生在同一個(gè)類里)
覆蓋是存在類中信殊,子類重寫從基類繼承過來的函數(shù)炬称。被重寫的函數(shù)不能是static的。必須是virtual的涡拘。但是函數(shù)名转砖、返回值、參數(shù)列表都必須和基類相同(發(fā)生在基類和子類)
重定義也叫做隱藏,子類重新定義父類中有相同名稱的非虛函數(shù) ( 參數(shù)列表可以不同 ) 府蔗。(發(fā)生在基類和子類)