1、物件導向設計的三個基本原則:封裝、繼承、多型
2、c++的空類預設產生哪些成員函式? 預設建構函式、析構函式、預設拷貝建構函式、賦值函式
3、c++中的struct和class的唯一不同點:sruct裡的預設訪問控制是public,class裡的預設訪問控制是private
4、使用靜態成員變數在乙個類的所有例項間共享資料,則每次建立乙個類的物件時都要對靜態資料成員進行一次初始化操作(靜態資料成員可用於統計例項化物件的個數)
5、初始化列表的初始化變數賦值順序是根據成員變數的宣告順序來執行
6、const成員變數必須在建構函式的初始化裡面賦值或者將其設定成static
class a
};或者
class
a ;
7、mfc類庫中,將cobject的析構函式設定為virtual型,則所有cobject類的派生類的析構函式都將自動變為virtual型,這保證了不會出現由於析構函式未被呼叫而導致的記憶體洩漏(為什麼虛擬的析構函式是必要的)
8、虛函式採用一種虛呼叫的方法。虛呼叫是一種可以在只有部分資訊的情況下工作的機制,特別允許我們呼叫乙個只知道介面而不知道其準確物件型別的函式。但是如果要建立乙個物件,就勢必知道物件的準確型別,因此建構函式不能為虛。
9、由於每個虛函式的物件都必須維護乙個v表,因此使用虛函式時會產生乙個系統開銷。如果僅是乙個很小的類,且無派生類,那麼沒必要使用虛函式
10、析構函式可以是內聯函式
11、#include
using namespace std;
class b
virtual
void fun()
};class b : public a
void fun()
};int main(void)
更多對多型的解釋,這裡參考博文:(1)
(2)
第10章 物件導向(上)
10.1 物件與類 在現實世界中,隨處可見的一種事物就是物件,物件是事物存在的實體,如學生 汽車等。人類解決問題的方式總是將複雜的事物簡單化,於是就會思考這些物件都是由哪些部分組成的。通常都會將物件劃分為兩個部分,即靜態部分與動態部分。顧名思義,靜態部分就是不能動的部分,這個部分被稱為 屬性 任何物...
C 程式設計第10章,物件導向思想
1.2 追加字串 1.3 字串賦值 s.assign 5種用法1.4 函式at,clear,erase及empty 提取指定位置 at index 清空 clear 刪除指定部分 erase index,n 檢測乙個字串是否為空 empty 1.5 函式length,size,capacity和c ...
第15章 物件導向程式設計
派生類中的虛函式可以返回基類函式所返回型別的派生類的引用或指標。只有指定為虛函式的成員函式才能進行動態繫結。派生類可以進一步限制但不能放鬆對所繼承的成員的訪問。使用private或protected派生的類不繼承基類的介面,稱為實現繼承。使用class保留字定義的派生類預設具有private繼承,而...