C++创建一个名为Ellipse的椭圆类--练习
- 题目描述:
/*设计名为Ellipse的椭圆类*/
/*
其属性为外接矩形的左上角与右下角两个点的坐标,并能计算出椭圆的面积,并测试该类。
*/
- 代码如下:
#include<iostream>
#include<map>
#include<set>
#include<algorithm>
using namespace std;
const double PI = acos(-1.0);
class Point {
public:
Point() {}
Point(int a, int b) {
setX(a);
setY(b);
}
Point(Point &tp) {
this->setX(tp.getX());
this->setY(tp.getY());
}
Point get_Point()
{
cout << "Please enter the coordinate of another point[ 9 6 menas the point is(9,6) ]:";
cin >> x >> y;
return *this;
}
~Point(){}
void details() {
cout << "The Point:"
<< "X-coordinate:" << x << endl
<< "Y-coordinate:" << y << endl;
}
int getX() {
return x;
}
int getY() {
return y;
}
void setX(int a) {
x = a;
}
void setY(int b) {
y = b;
}
private:
int x;
int y;
};
class Ellipse {
public:
Ellipse(int x1, int y1, int x2, int y2) {
Pa.setX(x1);
Pa.setY(y1);
Pb.setX(x2);
Pb.setY(y2);
}
Ellipse(Point &a,Point &b) {
Pa = a;
Pb = b;
}
Ellipse(){}
~Ellipse(){}
double area() {
double a = fabs(Pa.getX() - Pb.getX())*1.0;
double b = fabs(Pa.getY() - Pb.getY())*1.0;
return PI*a*b;
}
void show() {
cout << "The area of the Ellipse is:"
<< area() << endl;
cout << "The coordinates of the upper-left corner of its external rectangle and the two points in the lower-right corner are:" <<endl;
Pa.details();
Pb.details();
}
private:
Point Pa, Pb;
};
int main(void)
{
Point a, b;
a.get_Point();
b.get_Point();
Ellipse asp(a, b);
asp.show();
return 0;
}
- 测试截图:
(。・∀・)ノ
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架