提供三个点的坐标,求出平行四边形的面积

SheFuZuo SheFuZuo 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
计算公式错误,请各位帮忙修正:
#include <iostream>
#include <cmath>
using namespace std;
#ifndef ShapeH
#define ShapeH

class Shape
{
public:
virtual double area()const = 0;
virtual void draw()const = 0;
};

class Point
{
//确定一个点的坐标
double x, y;
public:
Point(double x0 = 0.0, double y0 = 0.0):x(x0),y(y0){}
double getX()const{return x;}
double getY()const{return y;}
};

class Parallel:public Shape
{
//定义了三个点
Point P1, P2, P3;
public:
Parallel(double a, double b, double c, double d, double e, double f):P1(a, b),P2(c,d),P3(e,f){}
virtual double area()const
{
//这里的公式有误,请各位帮忙修正
int log = (P3.getY() - P3.getY()) - (P3.getX() - P2.getX());
int hih = P2.getY() - P1.getY();
return log * hih;
}
virtual void draw()const{Shape::draw(); cout << "平行四边形";}
Point getParP1()const{return P1;}
Point getParP2()const{return P2;}
Point getParP3()const{return P3;}
};

void Shape::draw() const{cout << " 这里应输出一个";}
#endif

void showArea(Shape &s) { cout << s.area();}
void drawShape(Shape &s){ s.draw();}

int main()
{
//只提供三个点
Parallel obj4(4, 4, 5, 5, 6, 6);
showArea(obj4);
drawShape(obj4);
cout << endl;

system("pause");
return 0;
}
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
SheFuZuo
C++ 语言 65,214 成员 250,514 内容