跟我一起透徹理解template模板模式

2021-09-07 17:39:54 字數 1446 閱讀 1342

#include 

using namespace std;

//template模式。

class base

protected:

virtual

void

printf1() = 0;

virtual

void printf2() = 0;//讓子類實現演算法的詳細實現。

};class son1 : public base

void printf2()

};class son2 : public base

void printf2()

};int main()

感悟:

基類的方法由不同子類去詳細實現,我們須要什麼詳細的演算法

或者演算法,直接構造相關的子類就能夠使用,可是公共介面還

是定義在基類中,這樣方便全部的子類都能夠利用c++多型機制進行覆蓋改寫。

以下是我的詳細事例詳細解釋:

#include 

using namespace std;

//template模式。

class base size = n; } void printf() cout << endl; } void dowhat() protected: virtual

void

sort() = 0;//排序方法的實現。

int *data; int size; }; class bubble : public base//氣泡排序。void sort() } } } }; class insert : public base//插入排序。

void sort() } for (; j > k; j--) data[j] = temp; } } }; class qulick : public base//高速排序。 void sort() private: void

sort(int a, int low, int high) data[i] = key; sort(a,0,i-1); sort(a,i+1,high); } }; class select : public base//選擇排序。 void sort() } } } }; int main() ; /*base *p = new qulick(a, 7); p->dowhat(); p->printf();//插入排序。

*/ base *p = new bubble(a,7); p->dowhat(); p->printf();//氣泡排序。

return

0; }

跟我一起透徹理解template模板模式

include using namespace std template模式。class base protected virtual void printf1 0 virtual void printf2 0 讓子類實現演算法的具體實現。class son1 public base void pr...

C 跟我一起透徹理解虛函式表

首先讓我們來了解類物件的構造順序。總結1 前提是基類是有虛表的,單一繼承,所有的成員類與基類共同維護同乙個虛表,各自有 乙個vptr指向這個虛表,子類如果會對虛表進行替換修改,具體會根據子類是否過載了基類的 虛函式來確定,我們成為覆蓋。多繼承下面討論,其實本質是一樣的,關鍵問題是,多繼承中 子類中到...

跟我一起學python 跟我一起學人工智慧(一)

跟我一起學人工智慧 一 文 小步 系列第一講正式開課啦,課程全都是可以實操的乾貨,到後面ai演算法 python 可以結合做出乙個簡單的人工智慧應用 因本人也對ai領域涉足不久,如文章有不妥之處還請各位大神與我多多交流,此系列文章也屬於我學習ai過程中的總結,我也會做到盡量寫出只要是高中畢業就能看懂...