——不能創(chuàng)建對(duì)象,只能派生出新類的類是抽象基類ABC(作為模板)垫挨。
純虛函數(shù)跛溉。
包含純虛函數(shù)的類是抽象基類。
? 純虛函數(shù)
??純虛函數(shù)聲明:虛函數(shù)的結(jié)尾處加上=0砰碴。
? C++通過使用純虛函數(shù)提供未實(shí)現(xiàn)的函數(shù)躏筏,但仍可以在實(shí)現(xiàn)文件中提供方法的定義。
classBaseEllipse// abstract base class{private:
? ? ....public:
? ? ...
? ? virtualdoubleArea()const=0;// a pure virtual function? ? ...
}
? 給出方法定義:
voidBaseEllipse::Move(intnx, ny) { x = nx; y= ny; }
? 抽象基類ABC
? 在原型中使用=0(即至少聲明一個(gè)純虛成員函數(shù))指出類是一個(gè)抽象基類呈枉,在類中不可以定義該函數(shù)趁尼。
? 類聲明中包含純虛函數(shù)時(shí),不能創(chuàng)建該類的對(duì)象猖辫。
? 使用抽象基類派生出的類被稱為具體類酥泞,這表示可以創(chuàng)建這些類型的對(duì)象。
? ABC理念
? ABC要求具體派生類覆蓋其純虛函數(shù)(實(shí)現(xiàn))——迫使派生類遵循ABC設(shè)置的接口規(guī)則啃憎。
-----
原文鏈接:https://www.cnblogs.com/suui90/p/13183002.html