虛函式,純虛函式,抽象類,點H與點CPP檔案的結合

2021-07-17 02:42:37 字數 1894 閱讀 8640

題目:列印當月每個週日的日期和週日總的次數

#include

int main()

}printf("七月總共有%d個週日",j);

getchar();

return;

}

然後我就發現周五的總數比正確答案多了乙個,因為兩個if在判斷時出現重複,那就是i==3的情況,用if…else if…就對了。

回顧一下,很多的地方很模糊,甚至是不理解從近往遠說:

1,不同情況下建構函式的呼叫順序。

2,共用體的在記憶體裡面的儲值方式和規則。(週末時遇到的問題:關於double型成員最先賦值和最後賦值時遠行出兩種不同的結果我我還是無法理解)

3,我對列舉體這個東西存在的意義很疑惑,通俗點,現階段看來,我覺得它沒有什麼卵用。

4,結構體成員裡面包含有陣列的問題。

5,函式的遞迴我從來不敢掉以輕心。

6,各種資料型別的轉換問題,精度缺失問題的內部成因不是特別清晰。

1.建立類,並且定義虛函式

2.虛函式作用,讓每個類都可以覆蓋這個方法的內容

3.如果我的類中有純虛函式就預設為抽象類

4.抽象類是不允許建立物件的

虛函式區別與普通函式的乙個標誌:virtual

純虛函式的定義方式:virtual void callme() = 0;

虛函式跟過載函式是兩個概念,在基類定義了虛函式以後,在繼承類裡面可以改方法體,實現不同功能,這是一種覆蓋。

重點:點h檔案與cpp檔案的繫結:

1,點h檔案的名稱與該檔案下的類名一致

2,點h檔案下的類內部值負責成員函式的宣告,具體的功能實現在cpp檔案裡完成。

#include」base.h」 //表示應用了名為base的標頭檔案

#ifndefbase_h//必須有(雖然我不明白原理)

#definebase_h

#endif //與ifndef同在,必須有(雖然我不明白原理)

1,宣告是不分配記憶體的,定義才會分配記憶體。

2,基本資料型別(int,char,float,double)宣告就是定義,比如int i;它既是宣告也是定義。

3,僅代表對基本資料型別專門宣告的情況只有一種:extern int i,代表i這個變數是在別的地方定義了(如果你發現在接下來的**中i是有乙個固定值的,請不要大驚小怪)

4,函式,結構體,公用體,類的宣告與定義的區別就很明顯,不做贅述。

寫乙個程式,定義乙個帶有純虛函式的基類shape,由它派生出5個派生類:圓形(circle)、矩形(rectangle)、正方形(square)、三角形(********)、梯形(trapezoid)。實現基類中的虛函式,分別計算幾種圖形的面積。要求:使用基型別的指標陣列,使陣列的每個元素分別指向乙個派生類的物件。使用多型的概念實現對於求面積方法的呼叫。並給出適當的輸入輸出提示。

#include

#include

using

namespace

std;

#define pi 3.14

/*基類-形狀*/

class shape

;/*圓形*/

class circle: public shape

;/*矩形*/

class rectangle: public shape

;/*正方形*/

class square : public shape

;/*三角形*/

class ********: public shape

;/*梯形*/

class trapezoid: public shape

;int main()

虛函式,純虛函式,抽象類

1 虛函式 include includeusing namespace std class animal 執行結果 2 純虛函式 抽象類 include includeusing namespace std class animal class mouse public animal void c...

抽象類 純虛函式 虛函式

抽象類是一種特殊的類,它是為了抽象和設計的目的為建立的,它處於繼承層次結構的較上層。1 抽象類的定義 稱帶有純虛函式的類為抽象類。2 抽象類的作用 抽象類的主要作用是將有關的操作作為結果介面組織在乙個繼承層次結構中,由它來為派生類提供乙個公共的根,也就是說抽象類是為派生類服務的。純虛函式作為基類中的...

C 純虛函式與抽象類

純虛函式 純虛函式 在基類中將某一成員函式定為虛函式,並不是基類本身的需要,而是考慮到派生類的需 要,在基類中預留了乙個函式名,具體功能留給派生類根據需要去定義。純虛函式是在宣告虛函式時被 初始化 為0的函式。一般形式為 virtual 函式型別 函式名 引數列表 0 如 virtual float...