C 在容器中放置有繼承關係的物件和指標區別

2021-10-04 03:22:22 字數 1578 閱讀 3837

《c++ primer 5》15.28和15.29兩題

1 .h標頭檔案:包括父類quote和子類bulk_quote的定義

bookquote.h:

#pragma once

#include

#include

using

namespace std;

class

quote

string isbn()

const

virtual

double

net_price

(size_t n)

const

virtual

~quote()

private

: string bookno;

protected

:double price =

0.0;};

class

bulk_quote

:public quote

double

net_price

(size_t cnt)

const

else}~

bulk_quote()

private

: size_t min_qty;

double discount;

};

2-1 .cpp檔案:定義父類quote物件的vector容器,存入子類bulk_quote物件
#include

#include

#include

#include

"bookquote.h"

//1中定義的.h標頭檔案

#include

//shared_ptr智慧型指標

using

namespace std;

intmain()

double sum =0;

for(

auto iter = itemvec.

begin()

;iter != itemvec.

end();

++iter)

cout << sum << endl;

return0;

}

輸出結果,600。

2-2 .cpp檔案:定義指向父類quote物件的智慧型指標的vector容器,存入指向子類bulk_quote物件的智慧型指標

#include

#include

#include

#include

"bookquote.h"

#include

using

namespace std;

intmain()

double sum =0;

for(

auto iter = itemvec.

begin()

;iter != itemvec.

end();

++iter)

cout << sum << endl;

return0;

}

輸出結果:300。

div的兩列居中放置並對每個div設計css樣式

以下 實現乙個大的div id content包含兩個左右結構的div,id side和id www.cppcns.com main 並居中放置。並對每個div設計了css樣式。複製 如下 vjjyzxmg g程式設計客棧t 此處顯示 id layout 的內容 cichu 本文標題 div的兩列居...

C 的繼承關係

建立名為vehicle 車 的基類,它含有製造商的名稱 string型別 發動機缸數 int 型別 以及車主 person型別 然後建立vehicle類的乙個派生類truck 卡車 它具有一些附加屬性,包括載重 double型別 單位 噸 和牽引力 int型別 單位 磅 類應具有合理的建構函式 取值...

Spring注入有繼承關係的類

1.通過配置檔案 0 2.通過註解 只需要在子類上加註解,父類上不用加會自動注入 package com.jeremy.spring.genericitydi public class baserepository baseservice package com.jeremy.spring.gene...