——不能創(chuàng)建對象,只能派生出新類的類是抽象基類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(即至少聲明一個純虛成員函數(shù))指出類是一個抽象基類,在類中不可以定義該函數(shù)。
? 類聲明中包含純虛函數(shù)時,不能創(chuàng)建該類的對象。
? 使用抽象基類派生出的類被稱為具體類,這表示可以創(chuàng)建這些類型的對象。
? ABC理念
? ABC要求具體派生類覆蓋其純虛函數(shù)(實(shí)現(xiàn))——迫使派生類遵循ABC設(shè)置的接口規(guī)則。
-----
原文鏈接:https://www.cnblogs.com/suui90/p/13183002.html