c++作业——类与模板.docx_第1页
c++作业——类与模板.docx_第2页
c++作业——类与模板.docx_第3页
c++作业——类与模板.docx_第4页
c++作业——类与模板.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编写一个使用类模板对数组中元素进行排序和求和的程序。 【提示】在模板中完成排序和求和的操作。#includeusing namespace std;/类模板templateclass vector public: void sort(T a,int n); T sum(T a,int n); int search(T e, T a, int n);/排序templatevoid vector:sort(T a,int n) T temp; bool exchange; for(int i = 1; i = i; j-) if(aj aj-1) temp = aj; aj = aj-1; aj-1 = temp; exchange = true; if(!exchange) return; /求和templateT vector:sum(T a,int n) T sum = a0; for(int i = 1; i n; i+) sum += ai; return sum;/查找templateint vector:search(T e, T a, int n) for(int i = 0; i n; i+) if(ai = e) return i; return -1;void main() int data5 = 5,4,3,2,1; vector obj; cout数组和:obj.sum(data,5)endl; cout数字4数组位置:obj.search(4,data,5)endl; cout排序前数组各元素:endl; for(int i = 0; i 5; i+) coutdatai ; coutendl; 一、实验目的及要求 学习完整的 C+程序开发过程。 l 理解结构化程序设计的基本方法。 l 掌握程序的三种基本控制结构及其语法。 l 掌握 break、continue、goto 语句的执行过程并熟练使用。 l 掌握标识符常量与变量的概念和定义方法。 l 掌握各种运算符的功能、优先级和结合性。二、实验环境 DEV-C+三、实验内容设计一个数组类的模板,完成如下功能: (1) 数组的规模可以任意类型,任意大小。 (2) 重载构造函数实现不同种的初始化方式(自拟)。 (3) 数组排序函数。 (4) 数组查找函数。 (5) 数组查找最大值/最小值函数。 (6) 对运算符重载,支持对该数组类模板对象的下标运算#include #include using namespace std; /模版类定义,一个是虚拟类型T,用来给定数组元素的类型,一个是整型值size,用来给定数组的大小,即元素个数 /此类是一个万能数组,数组类型可以任意给定,数组大小可任意给定 /模板类不仅可以传递类型T,也可以传递数值size template class Array public: Array() int i; cout请输如size个typeid(T).name()值,对数组成员赋值:endl; for(i=0;iarrayi; void display() int i; cout输出size数组成员值:endl; for(i=0;isize;i+) /对数组元素值进行输出 coutarrayi ; coutendl; private: T arraysize; ; int main() Array array_int; /给出模板的参数化值,使其生成具体类,然后定义类对象 /当前数组类中数组元素类型为int,数组大小为5 array_int.display(); Array array_char; /给出模板的参数化值,使其生成具体类,然后定义类对象 /当前数组类中数组元素类型为char,数组大小为3 array_char.display(); Array array_float;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论