第十一章节标准模板类库STL.pptVIP

  • 0
  • 0
  • 约2.67万字
  • 约 79页
  • 2017-04-23 发布于四川
  • 举报
第十一章节标准模板类库STL

;;;11.2.1泛型程序设计;命名空间(Namespace);命名空间(Namespace);容器;容器的接口;适配器;迭代器;算法;函数对象;;;;向量应用举例(一); vector int nMyVector1, //整型向量 nMyVector2; //该向量类型的迭代子 vector int ::iterator nItBegin,nItEnd; //该向量类型的输出流迭代子 ostreamiterator int nOutput(cout,″ ″); //对向量类型对象中的数据进行顺序赋值 for(int i=1;i=10;i++) { nMyVector1.pushback(i); } //将该向量类型对象中的数据输出到标准输出流,显示出来。 copy(nMyVector1.begin(),nMyVector1.end(),nOutput); cout endl; //该向量类型的迭代子被赋值 nItBegin =nMyVector1.begin(); nItEnd =nMyVector1.end(); ; //用insert函数实现两个向量类型对象成员数据的复制 nMyVector2.insert(nMyVector2.begin(),nMyVector1.begin(),nMyVector1.end()); for(i=0;inMyVector2.size();i++) { coutnMyVector2[i]″ ″; } coutendl; //用迭代子输出该向量类型对象的数据 while(nItBegin!=nItEnd) { cout*nItBegin″ ″; nItBegin++; } cout endl; //用标准算法得到整型向量对象中所有数据的和 cout ″The sum of nMyVector1[i] is: ″ accumulate(nMyVector1.begin(),nMyVector1.end(),0.0f) endl; nItBegin=nMyVector1.begin(); nItEnd =nMyVector1.end(); ; //用一个已经存在的向量对象初始化另一个向量对象 vector int nMyVector3(nItBegin,nItEnd); vector int nMyVector4(nMyVector3); //输出两个新的向量对象 copy(nMyVector3.begin(),nMyVector3.end(),nOutput); cout endl; copy(nMyVector4.begin(),nMyVector4.end(),nOutput); cout endl; };向量应用举例(二); int x; int y; public: //声明对外接口 Point(int xx=0,int yy=0) //带默认形参值的构造函数 { x=xx;y=yy; } void display() //显示函数 { cout″Point″″(″x″,″y″)″″ ″; } int getx() const {return x;} int gety() const {return y;} bool operator ==(const Point point2) const;//用户自定义类型必须重载″==″和 // ″″运算符,因为STL中的模板类都要支持关系运算如″=″、″=″。 bool operator (const Point point2) const; }; bool Point::operator ==(const Point point2) const { if(

文档评论(0)

1亿VIP精品文档

相关文档