C++期末複習資料 備考

講夢發表於2021-01-03

C++期末備考

1、在用class定義一個類時,資料成員和成員函式的預設訪問許可權是 private
2、行內函數關鍵字 inline
3、假定有如下定義:int *p;,為p動態分配記憶體且為該記憶體賦值為整數10的語句是_int *p=new int(10);_____。
4、含有純虛擬函式的類名稱是 抽象類
5、在二叉樹中,如果一個節點沒有後繼節點,那麼這種節點稱為 葉子 節點。
6、int a, &ra=a;關於ra的描述中正確的是( C )
A ra是int型變數a的地址值
B a是int型變數ra的地址值
C ra是int型變數a的引用
D ra是int型變數a的指標
7、解構函式智慧有一個,不能帶引數,解構函式不能被過載,解構函式可以被過載,有了類才能產生一個解構函式。
8、構成過載:引數個數或者種類不同
9、說明語句“int a[5],*p=a;”,則對陣列元素的正確引用是 *(p+2)
10、注意C++的惰性
#include<stdio.h>
int main()
{
int a=-1, b=4, k;
k=(++a<=0)&&(b–<=0);
printf("%d,%d,%d\n",k,a,b);
return 0;
}
改程式輸出結果 0,0,3
11、
不能被派生類繼承的有建構函式,拷貝建構函式,賦值函式,解構函式
12、虛基類宣告: class 派生類名:virtual 繼承方式 基類名(e.g. class B:virtual public A)
13、構成陣列的所有元素的資料型別必須是相同的
14、用指標法引用陣列元素允許陣列元素的下標越界
15、定義陣列的長度可以是整形常量表示式
16、解構函式是一個沒有返回值型別的成員函式
17、switch語句中不一定有break
18、定義一維陣列 int a[5],*p=a;則表示式p=p+1合法 但是a=a+1 錯誤;
19、派生類是從基類派生出來的,能生成新的派生類
20、在定義該類的物件時,系統會自動呼叫該類的建構函式
21、不論派生類以何種方式繼承基類,都不能訪問和使用基類的private成員
22、物件導向的特徵是抽象、封裝、繼承和多型
23、派生類建構函式的執行順序是先執行基類的建構函式,然後執行成員物件的建構函式,最後執行自身的建構函式
24、一個函式為void f(int,char=‘a’),另一個函式為void f(int),則它們可以再同一程式中定義,但是不可以過載
25、建構函式:
建構函式的名字與該類的類名相同
一個類中可以定義0個至多個建構函式
建構函式是一種成員函式
26、過載函式形參:
引數的個數、型別相同,返回執相同
引數的個數或型別都不相同
引數的個數不同
引數的型別不同
27、純虛擬函式是一種特殊的虛擬函式,沒有具體的實現
28、抽象類是指具有純虛擬函式的類,抽象類不可以宣告物件,抽象類只能作為基類使用,他的純虛擬函式由派生類給出
29、單繼承的情況下,派生類中對基類成員的訪問會出現二義性
30、C++函式中如果一個引數設定了預設值時,其右邊的引數都要有預設值
31、類的每一個成員函式的第一個引數都是隱藏的this指標
32、一個類的友元函式可以被繼承
33、當保護繼承是,基類的public成員和protected成員成為派生類的protected成員
34、使用const 關鍵字說明的物件成為常物件,在定義常物件時必須進行初始化
35、靜態資料成員:
說明靜態資料成員時前面要加修飾static
靜態資料成員要在類外進行初始化
靜態資料成員不可以訪問普通成員
引用靜態資料成員時,要在靜態資料成員前加<類名>和作用域運算子

C++測試穩過!!

相關文章