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

c++中 模板与重载入门代码

程序员文章站 2024-03-17 21:56:52
...
#include<iostream>
using namespace std;
template <typename T>             //定义模板的固定格式
struct Point{
    T x,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){            //重载operator+
    return Point<T>(A.x+B.x,A.y+B.y) ;
}
template <typename T>             //定义模板的固定格式
ostream& operator << (ostream &out,const Point<T>& p){    //ostream是output stream的简称,即输出流;<<操作重载
    out <<"("<<p.x<<","<<p.y<<")";
    return out;
}
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<<"\n";
    return 0;
}