C++ Primer 5th笔记(chap 15 OOP)抽象基类
生活随笔
收集整理的這篇文章主要介紹了
C++ Primer 5th笔记(chap 15 OOP)抽象基类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 純虛函數pure virtual
純虛函數無需定義,通過在函數體的位置書寫 =0 就可以將一個虛函數說明為純虛函數。
- 其中 =0 只能出現在類內部的虛函數聲明語句中。
- 可以為一個純虛函數提供定義,不過函數體必須定義在類的外部,也就是說,不能在類的內部為一個 =0 的函數提供函數體。
2. 抽象基類abstract base class
含有或者未經覆蓋直接繼承純虛函數的類是抽象基類,抽象基類負責定義接口,而后續的其他類可以覆蓋接口。
class Disc_quote :public Quote { public:Disc_quote() = default;Disc_quote(const std::string& book,double price,std::size_t qty,double disc):quantity(qty),discount(disc) double net_price(std::size_t) const= 0; protected:std::size_t quantity = 0;double discount = 0.0; };class Bulk_quote : public Disc_quote { public:Bulk_quote() = default;Bulk_quote(const std::string& book,double price,std::size_t qty,double disc):Disc_quote(book,price,qty,disc){}double net_price(std::size_t)const override; };- 不能直接創建一個抽象基類的對象。
總結
以上是生活随笔為你收集整理的C++ Primer 5th笔记(chap 15 OOP)抽象基类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ Primer 5th笔记(cha
- 下一篇: C++ Primer 5th笔记(cha