c 第8 9 10章總結

2021-09-24 14:43:56 字數 2598 閱讀 1171

第8章    運算子過載
1、operator後緊跟要過載的運算子,例如過載「+"運算子函式名字為operator+

2、乙個運算子被過載以後,它原先的含義不會改變,扔可以用。使用時系統會判斷用這個運算子的過載還是原含義。

即: 運算子過載不會改變內建型別表示式中的運算子含義,只有在至少乙個運算元是使用者自定義型別物件時,才有可能呼叫該類中過載的運算子。

3、運算子函式的引數個數取決於一下兩個因數

運算子的運算元個數,即是一元運算子還是二元運算子

運算子函式是成員函式還是非成員函式。

(當運算子函式是成員函式時,若它是一元運算子函式則無需提供引數,類本身成員為引數,若為二元運算子,則需要提供乙個引數作為右引數,類本身成員是左引數。

4、運算子函式呼叫

x operator+(const x&left,const x&right)

x data1,data2;

data1+data2;//表示式中的呼叫

operator+(data1,data2);//等價的直接函式呼叫

data1.operator+(data2);//成員函式呼叫

5、不能過載的運算子

作用域解析符::

成員選擇符.

成員指標間接引用符.*

條件運算子?:

邏輯與&&

邏輯或‖

逗號,取位址符&

6、可以過載的運算子

一元運算子+ - * ++ –

算數運算子+ - % /

關係運算子 == != > <

位運算 << >>

賦值運算 = += -= /=

其他運算子 {}

7、過載輸入輸出

再類裡用友元宣告函式,類外定義

友元宣告:

friend istream& operator>>(istream&in,類名&變數名);

friend ostream&operator<<(ostream&out,類名&變數名);

類外定義

istream &operator>>(istream&in,類名&變數名)

ostream&operator<<(ostream&out,類名&變數名)

第9章 組合與繼承

1、組合,簡單來說就是在乙個類裡套另乙個類,平常打**時,多是乙個操作類裡含有資料類,資料類在操作類裡用vector存。

2、在c++中,被繼承的已有類稱為基類,繼承得到的新類稱為派生類。派生類可以再被繼承,這樣構成的層次結構稱為繼承層次。

3、繼承的語法形式如下:

class 派生類名字 : 訪問限定符 基類名字

;4、訪問限定符

public 公有

private 私有

protected 保護

5、如果不指定,對class關鍵字定義的類,預設為private;如果是struct關鍵字定義的類,則預設為public。

6、乙個派生類繼承乙個基類後,基類中的成員,不需要在派生類中重複宣告,將會在派生類中直接繼承,如果在派生類中重複宣告乙個基類的函式,則表示派生類中要重新實現這個操作

7、無論訪問限定符是公有、私有、保護,都不能繼承基類中私有成員,不能呼叫私有成員,可以用get、set函式間接呼叫

8、派生類繼承基類,不繼承私有成員和析構函式、建構函式。

9、多重繼承

class 派生類名字 : 訪問限定符1 基類名字1,訪問限定符2 基類名字2,訪問限定符3 基類名字3,…

10、在派生類中寫乙個和基類中函式名相同,引數型別相同,引數個數相同,返回值型別相同的函式,叫做覆蓋。

如果寫乙個函式名相同,引數不同,叫做過載。

11、如果用乙個基類的指標指向派生類,呼叫派生類中的覆蓋函式,則出現的結果等於基類中這個函式的結果。

第10章         虛函式與多型性
1、宣告虛函式: virtual

vittual 返回型別 成員函式名(參數列);

2、virtual只能在類內的成員函式宣告之前,不能用於類外的函式定義,除了建構函式外,任何非靜態成員函式都可以是虛函式。

3、派生類中可以重定義基類的虛函式,這稱為覆蓋,在派生類中覆蓋基類虛函式要求返回型別、函式名、引數個數、引數順序都一樣才行。

4、有了虛函式後,用基類的指標指向派生類,呼叫派生類中覆蓋的基類虛函式的函式,得到的結果,不再是基類中虛函式的結果,而是派生類中此函式的結果,這也被稱為多型。

5、可用override來標記派生類中的虛函式,使得編譯器可以檢測出,對虛函式覆蓋還是過載的錯誤。

使用方法 在基類中虛函式無作為

在派生類中的此函式宣告後加上override

例:struct b

;struct d:b;

6、虛函式實現多型的步驟:

在基類中講需要多型呼叫的成員函式宣告為virtual

在派生類中覆蓋基類的虛函式,實現各自需要的功能

用基類的指標或引用指向派生類物件,通過基類指標或引用呼叫虛函式。

7、基類中定義虛函式,派生類中覆蓋虛函式

這樣呼叫時才能用派生類中的函式

8、基類的析構函式可被派生類覆蓋,但是不用再派生類中寫乙個同名的析構函式。派生類中的此析構函式還是派生類的名字,不是基類析構函式的名字。

《構建之法》第8 9 10章

第八章 需求分析 軟體開發團隊就是為了使用者著想,於是總會在程式專案開發前進行專案的需求分析 本章節講述軟體需求的4個步驟,1 獲取和引導需求 2 分析和定義需求 3 驗證需求 4 在軟體產品的生命週期中管理需求 在軟體工程中分析軟體需求需要考慮相關者的利益關係,例如使用者 顧客 市場分析師 監管機...

構建之法第8,9,10章

第八章主要講的是軟體需求和分析,然而軟體的需求要分為以下幾步 1.獲取和引導需求,講的是軟體工程團隊需要找到軟體利益相關的人員,了解和分析他們對軟體的需求。2.分析和定義需求,是軟體團隊對各種需求進行分析和調整,從各種角度對需求量化。3.驗證的需求,講的是軟體工程團隊要跟相關者溝通,實時更近他們需求...

閱讀《構建之法》第8,9,10章

第八章 需求分析 本章節講述軟體需求的4個步驟,講述了9種使用者調研方法,nabcd模型和四象限方法,我覺得使用這幾個方法分析出來比較的具體,比自己空想要好,因為使用者的需求才是我們開發軟體的方向,如果方向錯了,只能是白做工。提出的問題 如果使用者需求很多很多,我們應該全部滿足,還是側重滿足?第九章...