欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

类模版与函数模版

程序员文章站 2023-01-13 10:50:27
``` // // main.cpp // 类模版与函数模版 // 在类声明中使用类型参数来声明通用的类 // Created by mac on 2019/4/6. // Copyright © 2019年 mac. All rights reserved. // 一个类模版中是否支持多种类型的参 ......
//
//  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;
}