1、提高程式可重用性的兩種辦法:
繼承;
泛型程式設計(模板)
2、模板的例項化:編譯器根據模板自動生成函式的過程稱為模板的例項化。
3、函式模板的形式:
template返回值型別 模板名(形參表);
4、函式模板的一些特點
函式的模板中可以有不止乙個型別引數
template t2 print(t1 arg1,t2 arg2)
}int cube(int x)
double square(double x)
int a[5]=,b[5];
double d[5]=,c[5];
int main();
template//型別參數列
class 類模板名
;
其實typename和class是等價的,用那個都行。
2.3 類模板中成員函式的寫法:
template//型別參數列
返回值型別 類模板名 《型別引數名列表》::成員函式名(形參數列)
2.4 類模板定義物件的寫法:
類模板名《真實型別參數列》 物件名(建構函式實參表);
example
templateclass pair
;bool operator < (const pair& p) const
2.6 類模板與非型別引數
類模板的「《型別參數列》」中可以出現非型別引數
template class carray;
template class b:public a
templateclass c:public b
int main()
1.2 類模板從類模板派生
template class a;
template class b:public a;
int main()
1.3類模板從普通類派生
class a;
templateclass b:public a;
int main()
1.4 普通類從模板類派生
template class a;
class b:public a;
int main()
函式、類、類的成員函式作為類模板的友元;
函式模板作為類模板的友元;
函式模板作為類的友元;
類模板作為類模板的友元;
4.1 函式、類、類的成員函式作為類模板的友元
void func1(){}
class a{};
class b
};template class tmpl
;//任何從tmpl1例項化來的類,都有以上三個友元
4.2 函式模板作為類模板的友元 物件導向程式設計之術語
術語 含義屬性 一小段資訊,例如顏色 高度或重量,描述物件的乙個特性 字段物件內部的指定值 操作屬於物件的一段 方法操作的同義詞 訊息從乙個物件傳送到另乙個物件的請求 呼叫執行操作,以響應訊息 執行呼叫的同義詞 關聯兩個物件之間的直接或間接連線 聚合強關聯,隱含著某種部分 一體層次結構 復合強聚合,...
物件導向程式設計(二) C 模板初探
背景 老師留了乙個作業,對兩個陣列進行相加,但是總是會出現錯誤 首先我們需要知道當陣列作為引數傳遞的時候是不能用 sizeof 的,因為當陣列傳入子函式就變成了普通的陣列頭 這時候使用 sizeof 只會檢測到指標的長度 我們用模板來傳遞陣列,實際上並非模板可以傳遞陣列,而是引用傳遞完成了這件事 對...
物件導向的程式設計之建立物件
物件的定義 無序屬性的集合,屬性的值可以是基本值 物件或者函式.每個物件都是基於乙個應用型別建立的,這個引用型別可以是內建的 例如objectarraymath 也可以是使用者自定義的.所有的物件都是繼承自object的,因此我們可以從object著手建立物件.通過new 關鍵字建立物件 var p...