dog類和cat類繼承animal類
根據使用者輸入的數值,建立相應個數的 dog 物件和 cat物件,然後呼叫 speak() 之後再銷毀。(10分)
題目內容:
編寫三個類
dog類和cat類繼承animal類;
dog類、cat類、animal類各有乙個預設建構函式,分別輸出字串「dog」、「cat」和「animal」。輸出字串後換行。注意三個字串的首字母都是大寫。
在 animal 類中定義純虛函式 speak();
在 dog 和 cat類中覆寫基類的 speak() 函式。dog類的speak函式輸出字串「wang」之後換行;cat類的speak函式輸出字串「miao」之後換行。注意字串「wang」和「miao」都是小寫字母
上述三個類中如果有任何其它函式,則這些函式不直接或者間接輸出任何資訊
編寫主函式
在主函式中接受使用者輸入的乙個整數n(大於0);
建立乙個vector物件v (你可以用其它名字),儲存animal物件的指標。
將存入v中的物件,按照先後次序,逐個呼叫 speak() 函式,然後用 delete 顯式銷毀。(注意:每呼叫乙個物件的 speak() 之後,就立即用 delete 銷毀該物件)。
程式中除了接受使用者輸入的整數之外,沒有任何其它輸入語句;
程式中除了建構函式和speak()的輸出之外,沒有任何其它輸出。
輸入格式:
乙個大於零的整數
輸出格式:
輸出多行資訊,最後一行是空行
沒有任何其它提示資訊
輸入樣例:
輸出樣例:
animal
doganimal
catanimal
doganimal
catwang
miao
wang
miao
注意:輸出結果的最後一行是空行
時間限制:500ms記憶體限制:32000kb
#include
#include
class
animal
virtual
void
speak()
=0;}
;class
dog:
public animal
void
speak
() override
};class
cat:
public animal
void
speak
() override
};intmain()
; i < n; i++
)for
(it = v.
begin()
; it != v.
end(
); it++
)return0;
}
C 多型, 虛函式, 純虛函式
多型 不同物件接收相同的訊息產生不同的動作。多型包括 編譯時多型和 執行時多型 執行時多型是 通過繼承和虛函式來體現的。編譯時多型 運算子過載上。封裝可以隱藏實現細節,使得 模組化 繼承可以擴充套件已存在的 模組 類 它們的目的都是為了 重用。多型也有 重用的功能,還有解決專案中緊耦合的問題,提高程...
C 多型 虛函式 純虛函式和抽象函式
多型 虛函式 純虛函式和抽象函式 多型按字面的意思就是多種形態。當類之間存在層次結構,並且類之間是通過繼承關聯時,就會用到多型。c 多型意味著呼叫成員函式時,會根據呼叫函式的物件的型別來執行不同的函式。其主要是函式的多種形態 乙個函式實現多種功能,形式是乙個乙個覆蓋。例項如下 includeusin...
C 多型 虛函式和純虛函式的關係
c 多型意味著呼叫成員函式時,會根據呼叫函式的物件的型別來執行不同的函式 形成多型必須具備三個條件 1 必須存在繼承關係 2 繼承關係必須有同名虛函式 其中虛函式是在基類中使用關鍵字virtual宣告的函式,在派生類中重新定義基類中定義的虛函式時,會告訴編譯器不要靜態鏈結到該函式 3 存在基類型別的...