类的学习——4

类的组合

程序代码  

#include <iostream>

#include <cmath>

using namespace std;

//点类的声明与定义

class Point 

{

int x,y;

public:

Point(int xx=0,int yy=0);

Point(Point &a);

void set(int,int);

void get(int &,int &);

};

Point::Point(int xx,int yy)

{

x=xx;

y=yy;

}

Point::Point(Point &a)

{

x=a.x;

y=a.y;

}

void Point::set(int a,int b)

{

x=a;

y=b;

}

void Point::get(int &a,int &b)

{

a=x;

b=y;

}

///

//三角形类的声明与定义

class Triangle

{

 Point p1,p2,p3;

public:

Triangle(int x1=0,int y1=0,int x2=1,int y2=1,int x3=0,int y3=1);

Triangle(Point &t1,Point &t2,Point &t3);

void set_Point1(int,int);

void set_Point2(int,int);

void set_Point3(Point &t);

void get_Point1(int *xx,int *yy);

void get_Point2(int &a,int &b);

void get_Point3(Point &a);

void show_triangle();

};

Triangle::Triangle(int x1,int y1,int x2,int y2,int x3,int y3)

{

p1.set(x1,y1);

p2.set(x2,y2);

p3.set(x3,y3);

}

Triangle::Triangle(Point &t1,Point &t2,Point &t3)

{

p1=t1;

p2=t2;

p3=t3;

}

void Triangle::set_Point1(int a,int b)

{

p1.set(a,b);

}

void Triangle::set_Point2(int c,int d)

{

p2.set(c,d);

}

void Triangle::set_Point3(Point &point)

{

p3=point;

}

void Triangle::show_triangle()

{

int xx1,yy1,xx2,yy2,xx3,yy3;

p1.get(xx1,yy1);

cout<<"p1:"<<"["<<xx1<<","<<yy1<<"]"<<endl;

    p2.get(xx2,yy2);

cout<<"p2:"<<"["<<xx2<<","<<yy2<<"]"<<endl;

p3.get(xx3,yy3);

cout<<"p3:"<<"["<<xx3<<","<<yy3<<"]"<<endl;

float length1,length2,length3,sum_length;

length1=sqrt(pow(xx2-xx1,2)+pow(yy2-yy1,2));

length2=sqrt(pow(xx3-xx2,2)+pow(yy3-yy2,2));

length3=sqrt(pow(xx3-xx1,2)+pow(yy3-yy1,2));

sum_length=length1+length2+length3;

cout<<"三角形周长为:"<<sum_length<<endl;

float area,s;

s=sum_length/2;

area=sqrt(s*(s-length1)*(s-length2)*(length3));

    cout<<"三角形面积为:"<<area<<endl;

}

int main()

{

Point p11(1,2),p22(2,4),p33(4,3);

Triangle triangle1(p11,p22,p33);

triangle1.show_triangle();

return 0;

}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值