《C primer plus》第13章複習題

2021-10-06 02:34:19 字數 1172 閱讀 8977

派生類從基類那裡繼承了什麼?

派生類不能從基類那裡繼承什麼?

假設basedma::operator=()函式的返回型別為void, 而不是basedma&,這將有什麼後果?如果返回型別為basedma,而不是basedma&,又將有什麼後果?

basedma magazine

("pandering to glitz",1

);basedma gift1, gift2, gift3l

gift1 = magazine;

//ok

gift2 = gift3 = gift1 ;

//no longer valid

建立和刪除派生類物件時,建構函式和析構函式呼叫的順序的怎樣的?

如果派生類沒有新增任何資料成員,它是否需要建構函式?

如果基類和派生類定義了同名的方法,當派生類物件呼叫該方法時,被呼叫的將是哪個方法?

在什麼情況下,派生類應定義賦值運算子?

可以將派生類物件的位址賦給基類指標嗎?可以將基類物件的位址賦給派生類的指標嗎?

可以將派生類物件賦給基類物件嗎?可以將基類物件賦給派生類物件嗎 ?

假設定義了乙個函式,它將基類物件的引用作為引數。為什麼該函式也可以將派生類物件作為引數?

假設定義了乙個函式,它將基類物件作為引數(即函式按值傳遞基類物件)。為什麼該函式也可以將派生類物件作為引數?

為什麼通常按引用傳遞物件比按值傳遞物件效率更高?

假設 corporation 是基類, publiccorporation 是派生類。再假設這兩個類都定義了head()函式,ph是指向 corporation 型別的指標,且被賦值給了乙個 publiccorporation 物件的位址。如果基類將head()定義為:a.常規非虛方法; b.虛方法; 則ph->head()將被如何解釋?

下述**有什麼問題?

class

kitchen

virtual

double

area()

const};

class

house

:public kitchen

double

area

(const

char

* s)

const

};

C Primer Plus 第11章 筆記

1 如果字串字面量之間沒有間隔,或者用空白字元分隔,c會將其視為串聯起來的字串字面量。2 用標準的陣列初始化模式給字串初始化時,末尾一定要加上 0 不然就不是乙個字串,而是乙個字元陣列。讓編譯器計算陣列的大小只能用在初始化時。4 const char ar1 something is pointin...

C primer plus 第4章 復合型別

1.陣列初始化 2.字串 兩種方式 c 風格字串 以 0結尾 string類庫 單引號表示字元常量 a 是字串編碼的簡寫,char a a 是正確的。但是 a 表示的是兩個字元a和 0組成的字串,實際上 a 表示的是字串所在的記憶體位址,因此char a a 是非法的 1 cin.getline a...

c primer plus 第8章 函式探幽

c 擴 展 了 c 語 言 的 函 數 功 能 通 過 將 inline 關鍵 字 用 於 函 數 定 義 並 在 首 次 調 用 該 函 數 前 提 供 其 函 數 定 義 可 以 使 得c 艹 編 譯 器 將 該 函 數 視 為 內 聯 函 數 也 就 是 說 編 譯 器 不 是 讓 程 序 跳...