//
// main.cpp
// 类模版与函数模版
// 在类声明中使用类型参数来声明通用的类
// Created by mac on 2019/4/6.
// Copyright © 2019年 mac. All rights reserved.
// 一个类模版中是否支持多种类型的参数?--可以的
// 在algorithm下已经写过swap函数了,所以自己再用swap这个名字写的就通过不了
#include <iostream>
#include <string>
//#include <algorithm>
using namespace std;
template <class genType,int size=50>
class genClass {
public:
genClass(){
cout<<"类模版中执行构造函数"<<endl;
}
~genClass(){
cout<<"类模版中执行析构函数"<<endl;
}
genType storage[size];
};
template <class genType>
void Swap(genType &el1,genType &el2) {
genType tmp=el1;el1=el2;el2=tmp;
}
int main(int argc, const char * argv[]) {
int a=1,b=2;
float c=3.3,d=4.4;
//使用类模版定义对象
genClass<int> intObject1;
genClass<int,100> intObject2;
genClass<float,123> floatObject;
Swap(c,d);
cout<<c<<"\t"<<d<<endl;
return 0;
}