c++模版应用实例
2016-05-20 19:08
447 查看
#include<iostream> #include<cstdio> using namespace std; struct Point{ int x,y; Point(int x=0,int y=0):x(x),y(y) {} }; Point operator + (const Point &A,const Point &B) { return Point(A.x+B.x,A.y+B.y); } ostream& operator << (ostream &out,const Point 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() { double a[]={1.1,2.2,3.3,4.4}; cout<<sum(a,a+4)<<endl; Point b[]={Point(1,2),Point(3,4),Point(5,6),Point(7,8)}; cout<<sum(b,b+4)<<endl; return 0; }
相关文章推荐
- c++第6次实验
- C语言可变参数函数
- 在Windows下搭建C++11 编译环境(附下载,包括mingw-build,TDM-GCC, nuwen MinGW Distro)
- C++第六次作业
- 【学习C++】C++ Primer Plus (第六版)第十一章编程练习1-7
- java/C.C++线程while循环无法跳出问题分析
- C++作业6
- 用C语言做520表白图(较简单)
- c++中的回调函数的实现
- 动态链接库使用.def导出一个c++类的函数
- 双向循环链表list(C++)
- C++Lambda学习
- 基于arm的C++反汇编 基本数据类型
- C++第六次上机实验
- c++实现读写共享锁
- C++ bind原理
- C语言 动态库简单开发
- C++实验6-数组操作
- [C++]bitset特殊用法
- 【C语言】二维数组转置