C Primer第五版 第十五章習題答案

2021-10-25 17:54:05 字數 1471 閱讀 1286

#include

#include

class

quote

std::string isbn()

const

virtual

double

net_price

(std::size_t n)

const

virtual

~quote()

protected

:double price;

private

: std::string bookno;

};

①、錯誤,類不能繼承自本身

②、正確

③、錯誤,類的宣告中不能包含它的派生列表

class

bulk_quote

:public quote

//virtual double net_price(size_t) const;//重新宣告,與下面的方式作用相同

double

net_price

(std::size_t cnt)

const

;//允許派生類顯示的註明它將使用哪個成員函式改寫基類的虛函式

else

}private

:double discount;

std::size_t min_qty;

};

基類需要虛析構函式,需要動態銷毀物件。

如果刪除了quote基類的預設建構函式,那麼它所有派生類中都不能使用預設建構函式進行初始化物件,如果需要預設初始化,則會報錯。

#include

#include

#include

class

quote

quote

(const quote &obj)

quote &

operator=(

const quote &obj)

quote

(const quote &&obj)

quote &

operator=(

const quote &&obj)

std::string isbn()

const

virtual

double

net_price

(std::size_t n)

const

virtual

void

debug()

virtual

~quote()

protected

:double price;

private

: std::string bookno;};

intmain

(void

)

知識點1:容器和存在關係的型別無法相容,當派生類的物件被賦值給基類物件時,會把派生類的部分切掉。

c primer 第五版課後習題 第五章

第五章主要講了函式 include include include include using namespace std void test 5 9 std cout 母音字母個數為 t cnt endl void test 5 10 std cout 母音字母a的個數為 t cnt a endl...

C Primer第五版 第五章 程式設計題

5.9 編寫一段程式,使用一系列if語句統計從cin讀入的文字中有多少母音字母。include void main std cout a acnt std endl std cout e ecnt std endl std cout i icnt std endl std cout o ocnt s...

C primer 第十五章筆記 初稿

抽象,繼承與動態繫結都是基礎的方法。新標準新增override關鍵字,用於顯示宣告改寫基類虛函式,乙個重要的好處是讓編譯器幫助我們發現一些覆蓋時的失誤。動態繫結一般通過指標 引用 實現。虛函式派生類 final關鍵字 虛函式返回的型別通常與基函式匹配,但如果返回類本身指標可以不同,前提是派生類到基類...