第二章 1. 類是對象的抽象,對象則是類的實例。類是抽象的,不為其分配存儲空間,對象是具體的,要為其分配存儲空間。類與結構的異同。 2. PRivate(私有的)— 只能被本類的成員函數引用。類外的不能引用(友元類除外),默認值。 public(公用的)— 既可以被本類的成員函數引用,也可被本類中的其他函數引用。 protected(受保護的)—不能被生成類外訪問,但可以被生成類的成員函數訪問。 3. 只有函數名相同,參數的數據類型不同或參數的個數不同的函數才能能進行重載。 4.允許訪問類的所有對象的公有成員,私有成員和保護成員的是友元(friend)函數。友元函數破壞了類的封裝性, 友元函數必須在類的內部用friend進行聲明, 友元函數不是類的成員函數是普通函數。友元類的所有成員函數都是友元函數。 5.成員函數可以重載,可設置參數的默認值,可以是靜態,也可以是內聯函數。 6.函數重載是指用同一函數名定義多個函數,重載函數可以實現同一類操作,重載函數的名字相同,但參數的個數或參數的類型不同,如果只是函數返回值的類型不同則不可重載。 7.cout是對象名。
第三章 1.構造函數:構造函數名與類名相同,無返回值(也不能寫void),可以有也可沒有參數,可以有默認參數,可重載,定義對象時自動調用。若該類沒有定義任何構造函數則編譯系統自動為一個類生成缺省構造函數。 2.析構函數:構造函數名與類名前加一個“~”符號,無返回值,無參數,不能重載(即只能定義一個析構函數),釋放對象時自動調用。 3.拷貝函數(復制構造函數)的寫法:B(B &t){}。參數為對象引用。 4. 常對象的值不能改變,常對象調用常函數,定義常對象時要加關鍵字const。但常成員函數可以被非常對象調用,常成員函數可以引用類中的數據成員,但不可以改變類中數據成員的值。 5.靜態(static)數據成員在類外初始化,靜態數據成員是所有對象所共有,可通過類名或對象名訪問,靜態數據成員的值對所有對象都是一樣的。靜態成員函數不能訪問本類中的非靜態數據成員。 6.用new分配對象時可以指定初值,使用它創建對象時要調用構造函數,用delete運算符刪除動態對象。
第四章 1. 不是所有運算符都能重載(. .* :: sizeof ?:)。不可以給運算符賦予新的含義。不可以為重載的運算符參數設置默認值。有的運算符只能作為成員函數重載(類型轉換函數)。
第五章 1.派生類至少有一個基類,派生類可以作為另一個派生類的基類,派生類的缺省派生方式是private,派生類可以是私有派生、保護派生或共有派生。 2. 如果派生類調用基類成員出錯,原因是基類成員是私有的(若基類成員是公有或保護的則可以被派生類成員函數直接訪問)。 3.若派生類的數據成員中有子對象,則定義一個派生類對象時,各構造函數的執行順序是先調用基類構造函數、子對象類構造函數最后調用派生類構造函數。 4. 若派生類的數據成員中有子對象,則定義一個派生類對象時,各析構函數的執行順序是先調用派生類構造函數、子對象類構造函數最后調用基類構造函數。 5. 基類不可以給派生類賦值,派生可以給基類賦值(因為基類對象不包含派生類的成員)。
第六章 1. 虛函數必須是類的成員函數。 2.凡是包含純虛函數的類是抽象類。抽象類為一個類族提供一個公共接口,通常用作基類,不可以定義其對象。 virtual float area() const {return 0;}——-虛函數 virtual float area() const=0——-純虛函數
新聞熱點
疑難解答
圖片精選