李长河 (教授)

教授 博士生导师 硕士生导师

性别:男

毕业院校:莱斯特大学

学历:研究生(博士)毕业

学位:工学博士学位

所在单位:自动化学院

职务:Professor

学科:自动化

办公地点:中国地质大学(武汉)自动化学院710室,湖北省武汉市洪山区鲁磨路388号

联系方式:027-8717 5083

Email:

实验十二 运算符重载

一、 实验目的

1、 掌握运算符重载为成员函数的方法

2、 理解友元函数和友元类。

3、 掌握运算符重载为友元函数的方法。

4、 使用静态数据成员。

二、 实验内容

1、为主教材中例4.2 的Rectangle类增加加减复合赋值和加减运算符重载函数。加减复合赋值语义定义为固定长方形的左上角,

对右下角的坐标进行加减运算,使新矩形的长宽为原两矩形长宽之和或差,对加和减复合赋值定义为成员函数。两个矩形加减运算定义为友元函数。

【要求】  (1) 主程序如下,请完成类的定义及相关成员函数和友元函数的实现,并分别保存为rect.h文件和rect.cpp文件。

 

 

2、编程:修改上题,要求如下:
 (1)将加、减运算重载为成员函数。
 (2)为矩形类在增加一个静态数据成员Counter,并统计共产生了多少个矩形对象。

为Counter 添加定义、赋初值以及随程序运行而变化的代码,并在main()函数中将其输出。注意静态数据成员应该有定义性说明。

 

3、将实验十第四题分数类中 add,sub,mul,div,equalTo,lessThan和greaterThan等函数分别用+,-,*,/,==,<,>重载运算符代替,并添加+=,-=,/=,和*=复合赋值运算符重载。并测试。