TemplateSwapByRef.cpp
Материал из Вики ИТ мехмата ЮФУ
Версия от 11:22, 11 октября 2013; Ulysses (обсуждение | вклад)
Файл swap.h
#ifndef SWAP_H
#define SWAP_H
template<typename T>
void swapByRef(T & a, T & b) {
T aCopy = a;
a = b;
b = aCopy;
}
#endif // SWAP_H
Обратите внимание, что реализация шаблонов функций приводится целиком в заголовочном файле.
Файл main.cpp
#include <iostream>
#include "swap.h"
using namespace std;
int main() {
int a = 3, b = 4;
swapByRef(a, b);
cout << a << " -- " << b << endl; // 4 -- 3
double c = 3.14, d = 2.71;
swapByRef(c, d);
cout << c << " -- " << d << endl; // 2.71 -- 3.14
}