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

2021-07-03 13:42:03 字數 1470 閱讀 3050

#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過程中的總結,我也會做到盡量寫出只要是高中畢業就能看懂...