用面向对象的程序设计编程:已知三角形的三顶点求三角形的面积和周长。(要求能显示输出三角形各边长的值。并使用组合类完成。)
#include<iostream>
#include<cmath>
using namespace std;
class Point
{
int x,y;//顶点坐标
public:
int getX();
int getY();
void setpoint(int,int);//重新设定顶点坐标
Point(int,int);//构造函数
Point(Point &);//复制构造函数
~Point();//析构函数
};//end Point
int Point::getX(){return x;}
int Point::getY(){return y;}
Point::Point(int x0,int y0)
{
x=x0;
y=y0;
}//构造函数
Point::Point(Point &P)
{x=P.x;y=P.y;}//复制构造函数
Point::~Point(){}//析构函数
class Line
{
Point p1,p2;
public:
double getlen();
};//end Line
double Line::getlen()
{
int x1,y1,x2,y2;
double len;
Point p1(3,4);
Point p2(1,2);
x1=p1.getX;
y1=p1.getY;
x2=p2.getX;
y2=p2.getY;
len=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
cout<<"边长为"<<len;
return len;
}
class Ctriangle
{
private:
Line l1,l2,l3;//边长
public:
double area();//计算面积
double perimeter();//计算周长
};//end Ctriangle
double Ctriangle::area()
{
double s,p;
p=(l1.getlen+l2.getlen+l3.getlen)/2;
s=sqrt(p*(p-l1.getlen)*(p-l2.getlen)*(p-l3.getlen);
cout<<"三角形面积为"<<s;
return s;
}
double Ctriangle::perimeter()
{
double C;
C=l1.getlen+l2.getlen+l3.getlen;
cout<<"三角形周长为"<<C;
return C;
}
int main()
{
Point p1,p2,p3;
Line l1,l2,l3;
Ctriangle tri;
l1.getlen;
l2.getlen;
l3.getlen;
tri.area;
tri.perimeter;
return 0;
}
这怎么改。。。