2函数模板实现不同数据类型数据交换


#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

template <typename T>
void mySwap(T &a, T &b)
{
	T tem;
	tem = a;
	a = b;
	b = tem;
}



int main(void)
{
	int number1 = 3, number2 = 5;
	double number3 = 4.23, number4 = 5.34;
	//自动类型推导,编译器可以根据传递的值,自动的进行数据类型的推导
	mySwap(number1, number2);
	cout << "number1=" << number1 << endl;
	cout << "number2=" << number2 << endl;

	mySwap(number3, number4);
	cout << "number3=" << number3 << endl;
	cout << "number4=" << number4 << endl;
	
	//显示的指定传递的数据类型,使用<>,把传递的数据类型写在里面即可
	//这些数据在上面已经交换一次了,所以会显示原来的值
	mySwap<int>(number1, number2);
	cout << "number1=" << number1 << endl;
	cout << "number2=" << number2 << endl;
	mySwap<double>(number3, number4);
	cout << "number3=" << number3 << endl;
	cout << "number4=" << number4 << endl;
	system("pause");
	return 0;
}
/*
	程序目的:
	程序功能:使用模板交换两个数字的值
	(1)编译器可以自动推导数据类型进行转换
	(2)当是用户自定义的数据类型的时候,需要使用<数据类型>指出数据类型

	2019/01/08 22--24--56

*/

猜你喜欢

转载自blog.csdn.net/baixiaolong1993/article/details/86104207