
面向对象程序设计 C++实验报告书
班级: 姓名: 学号:
实验项目类型
重载运算符
课程名称
面向对象程序设计 C++
实验项目
C++的 I/O 操作
指导教师
一、实验目的
1.理解重载运算符的意义,掌握用成员函数、友元函数重载运算符的特点及重载运算符函数的调运
方法;
2.理解多态的意义,掌握虚函数对对多态性的支持及调用方法,掌握抽象类的含义及其实现方式;
3.学会将文件作为流来处理的方式,掌握在 C++环境下建立磁盘文件和读写磁盘文件的基本方法,
掌握 cin 和 cout 标准输入输出流的作用,掌握文件流的定义格式,学习标准输入输出及格式控制,
熟悉流类库中常用的类及其成员函数的用法
二、实验步骤
1.设计一个点类 Point,实现点对象之间的各种运算,如两点是否相同,两点的位置加减等运算等,
可以重载定义如下的一些操作符,其原型分别如下:
成 绩
验 演 综 设
证 示 合 计
√
void offset(int,int); //提供对点的偏移
void offset(Point&); //重载,偏移量用 Point 类对象表示
bool operator==(Point&); //运算符重载,判断两个对象是否相同
bool operator!=(Point&); //运算符重载,判断两个运算符是否不相同
void operator+=(Point&); //运算符重载将两个对象相加
void operator-=(Point&); //运算符重载,将两个对象相减
Point operator+(Point&); //运算符重载,相加并将结果放在左操作数中
Point operator-(Point&); //运算符重载,相减并将结果放在左操作数中
2.现有一个容器类,其中定义了表示半径(radius)的成员,并定义了两个纯虚函数 surface_area()和
volume(),分别求出其表面积和体积;以此为基类,分别定义出正方体、球体和圆柱体,并在各
自的派生类中分别完成其表面积和体积的计算,编写程序并验证之。
其中基类的原型如下:
class container{