抽象類和普通類有什么區別? 抽象類一般不用作抽象物體型別
一般把上面類設計為抽象類? 基類
定義抽象類的唯一目的, 就是去建立派生類. 我們在抽象類基礎上要定義出功能各異的派生類, 再用這些派生類去建立物件.
凡是包含純虛函式的類都是抽象類. 純虛函式不用實作, 故不能被呼叫, 抽象類無法建立物件. 抽象類的作用是作為一個類簇的共同基類, 即為一個類簇提供一個公共介面.
許多好的面向物件的系統, 其層次結構的頂部是一個抽象類, 甚至頂部有好幾層都是抽象類. 如果在抽象類所派生出的新類中對基類的所有純虛數進行了定義.
那么這些函式就被賦予了具體的功能, 可以被呼叫. 這個派生類就不是抽象類, 而是可以用來定義物件的具體類 (concrete class).
如果在派生類中沒有對所有純函式進行定義, 則此派生類仍然是抽象類, 不能用來定義物件.
//擁有純虛函式的類,叫抽象類
class Animal
{
public:
//純虛函式
virtual void bark()=0;
};
Animal a;//NO 抽象類不可以實體化物件了,但是可以定義指標和參考變數
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/538600.html
標籤:其他
上一篇:每日演算法之矩陣中的路徑
