提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、问题
二、代码
1
代码如下:
#include<iostream>
#include<cmath>
using namespace std;
class Point
{
int x,y;
public:
Point(int i=0,int j=0)
{
x=i;
y=j;
}
int getx()
{
return x;
}
int gety()
{
return y;
}
void Show()
{
cout<<"第一个点的坐标:("<<getx()<<","<<gety()<<")"<<endl;
}
};
class Line:public Point
{
Point p2;
public:
Line(int i,int j,int o,int u):Point(i,j),p2(o,u) {}
void show()
{
cout<<"第二个点的坐标:("<<p2.getx()<<','<<p2.gety()<<')'<<endl;
}
int Getx()
{
return p2.getx();
}
int Gety()
{
return p2.gety();
}
};
class Triangle:public Line
{
Point p3;
public:
Triangle(int i1,int i2,int i3,int i4,int i5,int i6):Line(i1,i2,i3,i4),p3(i5,i6){}
double l1()
{
double r;
r=sqrt((getx()-Getx())*(getx()-Getx())+(gety()-Gety())*(gety()-Gety()));
return r;
}
double l2()
{
double s;
s=sqrt((getx()-p3.getx())*(getx()-p3.getx())+(gety()-p3.gety())*(gety()-p3.gety()));
return s;
}
double l3()
{
double m;
m=sqrt((Getx()-p3.getx())*(Getx()-p3.getx())+(Gety()-p3.gety())*(Gety()-p3.gety()));
return m;
}
double zc()
{
return(l1()+l2()+l3());
}
double S()
{
double c;
c=zc();
c=c/2;
return(sqrt(c*(c-l1())*(c-l2())*(c-l3())));
}
void print()
{
Show();
show();
p3.Show();
cout<<"周长:"<<zc()<<endl;
cout<<"面积:"<<S()<<endl;
}
};
int main()
{
Triangle t(0,0,0,3,4,0);
t.print();
return 0;
}
2.
代码如下:
#include<iostream>
#include<cmath>
using namespace std;
class Height
{
int h;
public:
Height(int a=0)
{
h=a;
}
int geth()
{
return h;
}
};
class Circle
{
int x,y,r;
public:
Circle(int i=0,int j=0,int k=0)
{
x=i;
y=j;
r=k;
}
double S()
{
return(3.14*r*r);
}
double L()
{
return(2*3.14*r);
}
};
class Cylinder:public Height,public Circle
{
public:
Cylinder(int i1=0,int i2=0,int i3=0,int i4=0):Height(i1),Circle(i2,i3,i4){}
void s()
{
cout<<"表面积:"<<L()*geth()<<endl;
}
void v()
{
cout<<"体积:"<<S()*geth()<<endl;
}
};
int main()
{
Cylinder c(4,0,0,1);
c.s();
c.v();
return 0;
}
总结
如有帮助,还望点赞