Line_类和对象

描述

定义一个Point类(只有一个带参的构造函数),在此基础上,定义一个Line类。要求:Line包含三个Point对象,Line支持构造函数的重载(带参和  不带参的构造 函数),Line 类包含判断是否能构成三角形成员函数,Line 类包含计算周长的成员函数

输入

输入三个点的标:

输出

输出三角形的周长。如果不是三角形,输出no

样例输入

0 0
0 1
1 0

样例输出

3.414
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
class Line;
class Point{
    int x,y;
public:
    Point (int x,int y){
        this->x=x;
        this->y=y;
    }
    friend class Line;
};
class Line{
    Point Aa,Bb,Cc;
    double l1,l2,l3;
public:
    Line();
    Line(Point a,Point b,Point c):Aa(a),Bb(b),Cc(c){}
    bool flag(Point A,Point B,Point C)
    {
        l1=sqrt((A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y));
        l2=sqrt((A.x-C.x)*(A.x-C.x)+(A.y-C.y)*(A.y-C.y));
        l3=sqrt((C.x-B.x)*(C.x-B.x)+(C.y-B.y)*(C.y-B.y));
        if(l1+l2>l3&&l2+l3>l1&&l1+l3>l2) return true;
        else return false;
    }
    void circu()
    {
        cout<<fixed<<setprecision(3)<<l1+l2+l3<<endl;
    }
};
int main()
{
    int a,b,c,d,e,f;
    cin>>a>>b>>c>>d>>e>>f;
    Point A (a,b);
    Point B (c,d);
    Point C (e,f);
    Line s(A,B,C);
    if(s.flag(A,B,C))
        s.circu();
    else cout<<"no"<<endl;
    return 0;
}

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值