C++ 面向对象程序设计:圆类设计与运算符重载
C++ 面向对象程序设计:圆类设计与运算符重载
本文将介绍基于 Point 类和 Plane 类设计圆类 Circle,并重载 << 和 >> 运算符以实现 Point 类和 Circle 类的格式化输入输出。此外,本文还演示了 Point 对象和 Circle 对象的文件读写操作。
Point 类结构说明
Point 类的数据成员包括:
- 私有数据成员:X 坐标
x(double 型),Y 坐标y(double 型)。
Point 类成员函数包括:
- 有参构造函数
Point(double, double),其中参数分别为 X 坐标和 Y 坐标,默认值均为 0。 - 公有函数成员
void setX(double)和double getX() const分别返回和设置 X 坐标。 - 公有函数成员
void setY(double)和double getY() const分别返回和设置 Y 坐标。 - 重载运算符
<<以实现 Point 对象的格式输出,输出格式要求:(X 坐标, Y 坐标)例如:(1.0, 2.0)等。 - 重载运算符
>>以实现 Point 对象的格式输入,输入格式要求:(X 坐标, Y 坐标)例如:(1.0, 2.0)等。
Plane 类结构说明
Plane 类的成员函数包括:
- 纯虚函数
virtual double length() const用于计算平面图形的周长。 - 纯虚函数
virtual double area() const用于计算平面图形的面积。
Circle 类结构说明
公有派生圆类 Circle 以点类 Point、平面图形类 Plane 为基类,Circle 类的结构说明如下:
Circle 类的数据成员包括:
- 圆心坐标继承自 Point 类。
- 保护静态数据常量
PI(double 型),其值为 3.14159。 - 私有数据成员:半径
radius(double 型)。
Circle 类成员函数包括:
- 有参构造函数
Circle(double, double, double),其中函数参数包括圆心坐标和半径,圆心调用 Point 类构造函数进行构造,各参数默认值为 0。 - 公有函数成员
void setR(double)和double getR() const分别返回和设置radius。 - 重载
double area() const用于计算圆的面积。 - 重载
double length() const用于计算圆的周长。 - 重载运算符
<<以实现 Circle 对象的格式输出,输出格式要求:((X 坐标, Y 坐标), 半径)例如:((1.0, 2.0), 3.0)等。 - 重载运算符
>>以实现 Circle 对象的格式输入,输入格式要求:((X 坐标, Y 坐标), 半径)
main(void) 说明
main(void) 的操作顺序描述如下:
- 首先已输入的
d1、d2来构造 Point 对象p,并将p用<<写入文本文件s3.txt中。 - 再将文本文件
s3.txt打开,应用>>操作将里面的数据读入到 Point 对象p中。 - 利用 Point 对象
p的数据设置 Circle 对象c,设置要求:将c的圆心 X 坐标设置为p的 Y 坐标,将c的圆心 Y 坐标设置为p的 X 坐标,将c的半径设置为p的 Y 坐标与 X 坐标的和。并将设置好的c写入二进制文件b3.dat中。 - 再将二进制文件
b3.dat打开,将里面的数据读入到 Circle 对象c中。 - 最后以
c对象为参数调用f函数。
代码实现如下:
原文地址: https://www.cveoy.top/t/topic/ok26 著作权归作者所有。请勿转载和采集!