题目要求
已知两点间的距离,使用类和对象:
1、用distance函数计算两点间的距离
2、求矩形的周长和面积
代码内容
#include<iostream>
#include<cmath>
using namespace std;
class point{
public:
point(){}; //无参构造
//带参构造
point(float xx,float yy){
x=xx;
y=yy;
};
//返回私有成员变量x的值
float getx(){
return x;
}
float gety(){
return y;
}
//定义私有成员变量
private:
float x,y;
};
class line{
public:
line(){}; //无参构造
float distance(point p1,point p2); //声明成员函数,参数类型为point类
static void display(point p1,point p2); //声明静态成员函数
//private:
//point p1,p2;
};
//类外定义非静态成员函数
float line::distance(point p1,point p2){
//计算两点间的距离
return sqrt(pow(p1.getx()-p2.getx(),2)+pow(p1.gety()-p2.gety(),2));
}
//定义静态成员函数
void line::display(point p1,point p2){
cout<<"周长为:"<<fabs(p1.getx()-p2.getx())*2+fabs(p1.gety()-p2.gety())*2<<endl;
cout<<"面积为:"<<fabs(p1.getx()-p2.getx())*fabs(p1.gety()-p2.gety())<<endl;
}
int main(){
float a,b,c,d;
cout<<"输入两点坐标" <<endl;
cin>>a>>b>>c>>d;
point p1(a,b),p2(c,d);//建立point类对p1、p2
line l;//建立line类对象l
cout<<"两点间的距离为:"<<l.distance(p1,p2)<<endl;//通过对象调用distance函数
line::display(p1,p2); //调用静态成员函数
return 0;
}
测试结果
总结
这个实验主要是让我们掌握声明类的方法,类和类的成员的概念以及定义对象的方法,初步掌握用类和对象编制基于对象的程序