# 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;
}```
• 测试截图：

121 篇文章36 人订阅

0 条评论

## 相关文章

### BZOJ 3097: Hash Killer I【构造题，思维题】

3097: Hash Killer I Time Limit: 5 Sec  Memory Limit: 128 MBSec  Special Judge Su...

2126

Reduce文件会从Mapper任务中拉取很多小文件，小文件内部有序，但是整体是没序的，Reduce会合并小文件，然后套个归并算法，变成一个整体有序的文件。

2621

### CodeForces 156B Suspects(枚举)

B. Suspects time limit per test 2 seconds memory limit per test 256 megaby...

3325

### 无限级分类(非递归算法/存储过程版/GUID主键)完整数据库示例_(2)插入记录

-- ======================================== -- Author:  <杨俊明,jimmy.yang@cntvs.c...

2019

1471

2069

2303

4869

4237

2796