- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告模板——实验6:模板实验报告模板——实验6:模板
天津理工大学
计算机与通信工程学院
实验报告
至 学年 第 学期
课程名称 实验( 6 ) 实验名称 实验时间 学号姓名 专业 主讲教师 辅导教师 软件环境 硬件环境 实验目的 1.理解类模板与函数模板的概念;
2. 掌握类模板的定义与实例化方法;
3. 掌握函数模板的定义与使用方法;
4.掌握函数模板重载方法。
5.掌握MS Visual C++6.0调试C++程序的基本方法、基本步骤。 实验内容(应包括实验题目、实验要求、实验任务等) 1.设计一个函数模板max_of_array( ),该函数从一个数组中找出其中的最大元素,数组中存放元素的类型可能是多种多样的(如:int、float、double、char、char*)。
题目说明:
1) 声明一个函数模板max_of_array,用来处理基本数据类型int、float、double、char
template class TYPE
TYPE max_of_array(TYPE A[], int len) ;
2) 定义一个max_of_array的特殊版本,用来处理字符串类型
char* max_of_array(char * Strs[], int len);
3) 定义两个字符串比较大小的算法,
// 如果AB, 函数返回1;如果A==B, 函数返回0;如果AB, 函数返回-1;
int compare_string(char* s, char* t)
两个字符串比较算法的思路如下:
(1)比较s和t两个串共同长度范围内的对应字符:
① 若s的字符<t的字符,返回-1;
② 若s的字符>t的字符,返回1;
③ 若s的字符=t的字符,按上述规则继续比较。
(2)当(1)中对应字符均相同时,比较s1和s2的长度:
① 两者相等时,返回0;
② s的长度>t的长度,返回1;
③ s的长度<t的长度,返回-1。
2.设计一个函数模板,使用冒泡排序将数组内容由从小到大顺序排列并打印出来,数组中元素的类型可能是多种多样的(如:int、float、double、char、char*),学生类STUDENT是自己设计的类类型,包括对学生的学号、姓名、年龄、系别等信息的描述及必要的行为。
题目说明:
1) 声明一个函数模板bubble,用来处理基本数据类型int、float、double、char、STUDENT
template class TYPE void bubble(TYPE A[], int len) ;
void bubble (char * Strs[], int len);
3)在STUDENT类定义中,需要重载“”或“”运算符,用来比较两个对象的大小,可以根据学号进行比较,当A学生的学号小于B学生的学号时,可以认为AB。2) 定义一个bubble的特殊版本,用来处理字符串类型
3.设计一个模板类SET,集合中可以存放不同类型的对象;然后编写一个演示程序利用SET创建并使用整数的集合、字符串的集合以及学生的集合,学生类STUDENT是自己设计的类类型,包括对学生的学号、姓名、年龄、系别等信息的描述及必要SET类的原型可参考如下:
template class T
class SET {
private:
T elements[MAX_LEN]; // 定义元素集合,来记录SET中的元素
int N; // 定义元素的实际个数
public:
SET();
SET(T data[], int n);
SET(const SET obj);
~SET();
int hasElement(T one); //判断元素one是否在集合中
void inputElement(T one); // 向集合中加入一个元素
void delElement(T one);// 从集合中删除一个元素
void showAllElements(); //显示集合中的所有元素
// SET对象之间的运算:交、并、差,分别采用运算符重载实现
SET operator+(const SET obj);
SET operator*(const SET obj);
SET operator-(const SET obj);
SET operator=(const SET obj);
};
STUDENT类的原型可参考如下:
class STUDENT{
private:
long id;
char name[MAX_LEN];
char sex;
int age;的行为。
public:
STUDENT();
STUDENT(const STUDENT obj);
STUDENT(long idd, char na
您可能关注的文档
- 实用型语文阅读技巧 帮助教学实用型语文阅读技巧 帮助教学.doc
- 实现建筑施工企业对BIM技术的深度应用实现建筑施工企业对BIM技术的深度应用.docx
- 实用心里学200条实用心里学200条.doc
- 实行“一肩挑”是解决村两委矛盾的现实选择实行“一肩挑”是解决村两委矛盾的现实选择.doc
- 实践.365教学模式构建数学高效课堂实践.365教学模式构建数学高效课堂.doc
- 实际问题与一元二次方程教学设计实际问题与一元二次方程教学设计.doc
- 实验1 系统响应及系统稳定性实验1 系统响应及系统稳定性.doc
- 实际问题与二元一次方程组学案实际问题与二元一次方程组学案.doc
- 实验2常用网络命令使用实验2常用网络命令使用.doc
- 实验5 用运放的电压放大电路实验5 用运放的电压放大电路.doc
文档评论(0)