函数模板

// Test.cpp: 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
#include "StackException.h"


using namespace std;

template <typename A> // 定义一个模板1,用的时候把A替换掉即可,将很多相同的操作通过模板来完成
void say(A a) {
cout << a << endl;
}

template <typename A,typename B> // 定义一个模板2
void say(A a, B b,int c) {
cout << a << endl;
cout << b << endl;
}

template <typename A,int size> // 定义一个模板3
void say(A a) {
for (int i = 0; i < size; i++) {
cout << a << endl;
}
}

int main()
{    
// say<int>(2); // 使用模板1
// say<int, char>(123, 's',222); // 使用模板2
// say<int, 5>(3); // 使用模板3


system("pause");
return 0;
}

 注意:

1.

模板本身是不会产生任何代码的,有了模板函数才会有对应的代码。

2.

也可以把template写成class,二者等价。

3.

使用模板函数的时候不能分开定义,全部写到.h文件中,不要.cpp文件了。

posted @ 2018-07-06 14:52  Jary霸  阅读(102)  评论(0编辑  收藏  举报