第八章 複習題

1. 比較短小的函數,太大了佔用內存太多。


2. 

a. void song(const char * name, int times = 1);

b.函數定義不需要做任何改變

c.不可以,因爲是const


3.

void iquote(int i);

void iquote(double d);

void iquote(string s);


4.

template <typename T>

Void show(T &t);

struct box

{

Char maker[40];

Float height;

Float width;

Float length;

Float volume;

};

template <> void show<box> (box &b);

Int main()

{…}

template <> void show<box> (box&b)

{

cout<<b.maker<<height<<width<<length<<volume<<endl;

}

5.

void fill(array<double, Seasons> &pa);

void show(array<double, Seaons> &da);

6. 

a.doublemass(double dentisy, double volume =1.0);

b.不行,默認值只能從右往左添加

c.可以使用函數模板

d.不行,參數標記一樣了,程序不能解析函數重載


7. template <typename T>

T big(T a, T b) 

{

if (a>b)

return a;

else

return b;

}

9.

decltype的語法是

decltype ( expression )

這裏的括號是必不可少的。根據前面的說法,decltype的作用是“查詢表達式的類型”,因此,上面語句的效果是,返回expression 表達式的類型。注意,decltype 僅僅“查詢”表達式的類型,並不會對表達式進行“求值”。

v1 float

v2 float &

v3 float &

v4 int

v5 float


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章