看到这个内容,瞬间发现map,vector,set这些容器不就是个模版吗

#include<iostream>
#include<cstdio>
using namespace std;
template<typename T>
struct Point{
    T x;
    T y;
    Point(T x=0,T y=0): x(x),y(y) {}
};
template<typename T>
Point<T> operator + (const Point<T> &A,const Point<T> &B)
{
    return Point<T>(A.x+B.x,A.y+B.y);
}
template<typename T>
ostream& operator << (ostream &out,const Point<T> &A)
{
    out<<"("<<A.x<<","<<A.y<<")";
    return out;
}
template<typename T>
T sum(T *begin,T *end)
{
    T *p=begin;;
    T ans=0;
    for(T *p=begin;p!=end;p++)
        ans=ans+*p;
    return ans;
}
int main()
{
    Point<int> a(1,2),b(3,4);
    Point<double> c(1.1,2.2),d(3.3,4.4);
    cout<<a+b<<" "<<c+d<<endl;
    return 0;
}


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐