"继承与派生:类与对象的运算符重载与面积计算"
需积分: 10 67 浏览量
更新于2023-12-27
1
收藏 163KB DOC 举报
```C++
#include <iostream>
using namespace std;
// 定义 Point 类
class Point {
protected:
int x, y;
public:
Point(int xx = 0, int yy = 0) : x(xx), y(yy) {}
int getX() { return x; }
int getY() { return y; }
};
// 派生 Rectangle 类
class Rectangle : public Point {
protected:
int width, height;
public:
Rectangle(int xx = 0, int yy = 0, int w = 0, int h = 0) : Point(xx, yy), width(w), height(h) {}
int area() { return width * height; }
};
// 派生 Circle 类
class Circle : public Point {
private:
int radius;
public:
Circle(int xx = 0, int yy = 0, int r = 0) : Point(xx, yy), radius(r) {}
float area() { return 3.14 * radius * radius; }
};
int main() {
Rectangle rect(1, 2, 3, 4);
Circle cir(1, 2, 5);
cout << "Rectangle Area: " << rect.area() << endl;
cout << "Circle Area: " << cir.area() << endl;
return 0;
}
```
以上是一个用C++编写的程序,其中定义了一个 Point 类,并派生出了 Rectangle 类和 Circle 类。在主函数中创建了一个 Rectangle 对象和一个 Circle 对象,并计算各对象的面积并输出。这段代码利用了继承与派生的特性,通过定义一个基类来派生出不同的子类,实现了代码的复用和扩展。同时,利用了运算符重载,使得代码更加简洁和易读。整体而言,这段代码展示了面向对象编程的特点,体现了代码的灵活性和可扩展性。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2009-12-21 上传
2023-12-18 上传
2009-09-07 上传
2018-02-04 上传
点击了解资源详情
点击了解资源详情
xuehuazailuo
- 粉丝: 1
- 资源: 28
最新资源
- 俄罗斯火游戏
- emberSortableTable8_2
- torch_sparse-0.6.9-cp37-cp37m-macosx_10_9_x86_64whl.zip
- shell-scripting-for-beginners-course:Shell Scripting for Beginners课程的注释
- CE01ISSM-MFD35-02-PRESFA000-recovered_host-presf_abc_dcl_wave_burst_recovered:科学| Wave Burst数据产品
- 火车调度员
- migong.rar_游戏_C/C++_
- spotify-api-netcore:适用于.NET标准的Spotify API包装器
- torch_cluster-1.5.9-cp37-cp37m-win_amd64whl.zip
- 简洁灰色相册博客整站模板
- CE-9053-Project-1:均值堆栈项目1
- VGA2X2.rar_VHDL/FPGA/Verilog_VBA_
- react-course-advanced
- 女性时尚化妆主题整站网站模板
- EulerProject
- torch_scatter-2.0.7-cp37-cp37m-win_amd64whl.zip