C 模板程式設計與泛型程式設計之類模板中的友元(二)

2021-10-07 15:42:02 字數 1693 閱讀 3298

template void func(u val1, v val2)

func(2, 3);

func(4.6f, 5); -- 第乙個模板引數指定,第二個模板引數編譯器自己推斷

func(4, 5.8f); -- 完全手工指定模板引數

val1 = 2

val2 = 3

val1 = 4.6

val2 = 5

val1 = 4

val2 = 5.8

class men

};template void func(u val1, v val2)

-- 函式模板func的宣告

template void func(u val1, v val2);

class men

};template void func(u val1, v val2)

func(2, 3);

func(4.6f, 5);

func(4, 5.8f)

men::funcmen被呼叫了

men::funcmen被呼叫了

men::funcmen被呼叫了

-- 函式模板func的宣告

template void func(u val1, v val2);

//men類模板

template class men

};template void func(u val1, v val2)

func(2, 3);

func(4.6f, 5);

func(4, 5.8f)

men::funcmen被呼叫了

men::funcmen被呼叫了

men::funcmen被呼叫了

-- men類模板

template class men

};template void func(u val1, v val2)

//func全特化版本

template <>

void func(int val1, double val2)

//men類模板

template class men

private:

void funcmen() const

};

menmymen2;

func2(mymen2); -- 直接呼叫men類模板中定義的友元函式func2

menmymen3;

func2(mymen3);

//men類模板

template class men

private:

void funcmen() const

};

C 泛型程式設計之類模板案例

案例描述 實現乙個通用的陣列類。要求如下 1 可以對內建資料型別以及自定義資料型別的資料進行儲存 2 將陣列中的資料儲存到堆區中 3 建構函式中可以傳入陣列的容量 4 提供對應的拷貝建構函式以及operator 防止淺拷貝問題 5 提供尾插法和尾刪法對陣列中的資料進行增加和刪除 6 可以通過下標的方...

C 模板程式設計與泛型程式設計之函式模板(一)

int sub int tv1,int tv2 float sub float tv1,float tv2 template template t sub t tv1,t tv2 呼叫 int subv sub 3,5 int subv sub 6.3,5.9 型別模板引數t 代表是乙個型別 以前前...

泛型程式設計 之 模板認知

說起來入行也兩年多了,今天對模板有了新的認知。本來我對模板的認知只是停留在stl的認知上面。對stl中容器,演算法,和智慧型指標的使用上。但最近乙個網路程式設計專案中在使用select做阻塞程式設計時用到了乙個設計模式。但是要生成的控制類太多也太繁瑣。就在此時我才想到用模板才是最好的解決辦法。inc...