C++类模板、函数模板

类模板的声明需要template<typename 类型参数> ,等于C#中的泛型类,如List<T>。

template <typename T>
class Complex{
public:
    //构造函数
    Complex(T a, T b)
    {
        this->a = a;
        this->b = b;
    }
    //运算符重载
    Complex<T> operator+(Complex &c)
    {
        Complex<T> tmp(this->a+c.a, this->b+c.b);
        return tmp;
    }   
private:
    T a;
    T b;
}

 

函数模板的声明也需要template<typename 类型参数>,等于C#中的泛型方法,如EF中的DBContext.Set<T>()。

template<typename T> //声明一个模板,告诉编译器后面代码中紧跟的T不要报错,T是一个通用数据类型
void MySwap(T &a, T &b)
{
    T temp = a;
    a = b;
    b = temp;
}
posted @ 2022-12-25 18:13  ShawBlack  阅读(17)  评论(0编辑  收藏  举报