C++实验11.12

2018-11-23 12:33

实验十一 引用与复制构造函数

一.实验目的

1、 掌握引用的概念及应用,掌握引用作为函数参数的方法。 2、 学会编写与应用复制构造函数。 二. 实验内容

1、范例:编写一个函数,其原型为:void Index(int a[], int n,int & sub),其功能是,在大小为n的数组a中,查找某个数sub,若找到,将其下标存放在sub中,若没找到,将-1存放在sub中,在主调函数中通过判断值来判断数组中是否有该数。在这里,sub是引用类型的参数,但起返回值的作用。

【要求】修改主程序连续查找数字的循环语句,使程序能在输入特定数字后退出循环。 【程序】

【输入】19 【输出】:

1

2、一个声明为返回引用的函数,既可以作为右值出现在赋值号的右边,也可以作为左值出现在赋值号的左边。下面是一个函数调用本身作为左值的例子。 【程序】

【输入】无 【输出】:

【注意】由于函数index()是返回引用的类型,所以该函数调用可以作为一个左值,

程序的表达式index(3)=16 将16 赋给左边的函数调用,由于该函数调用返回对array[3]的引用,所以可以将array[3]赋新值。该程序运行的结果将使得整型数组array中的各元素值变为:

2,4,6,16,10。

3、为矩形类定义复制构造函数。矩形类见主教材的例4.2. 【程序】

2

【输入】:无

3

【输出】:

4、编程:将实验十中的分数类的分数类型参数改为引用,并添加复制构造函数。 First,对集合类修改如下内容: void Copy(set &); bool Equal(set &);

void intersect(set &,set &); ErrCode Union(set &,set &); Bool Contain(set &); 复制构造函数为: set::set(set &s){ num=s.num;

for(int i=0;i++;i

Second,对分数类修改如下内容: fraction add(fraction &); fraction sub(fraction &); fraction mul(fraction &); fraction div(fraction &);

4

bool equal(fraction &); bool greaterThan9 fraction &); bool lessThan(fraction &); 构造函数如下:

Fraction::fraction(fraction & f){ above=f.above;below=f.below; }

实验十二 运算符重载

一、实验目的

1. 掌握运算符重载为成员函数的方法 2. 理解友元函数和友元类

3. 掌握运算符重载为友元函数的方法 4. 使用静态数据成员 二 、实验内容

1.范例:为主教材例4.2的Rectangle类增加加减复合赋值函数和加、减运算符重载函数。加、减复合赋值函数用于固定长方形的左上角,对右上角的坐标进行加、减运算,使新矩形的长宽为原来两个矩形长宽之和或差。将加减复合赋值函数定义为成员函数,将两个矩形加减运算定义为友元函数。

【程序】: //rect.h

5


C++实验11.12.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:在局机关党委成立大会上的讲话

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: