作业帮 > 综合 > 作业

5.定义一个表示点的结构类型Point和一个由直线方程 确定的直线类Line.结构类型Point由x和y两个成员,他

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/01 18:04:56
5.定义一个表示点的结构类型Point和一个由直线方程 确定的直线类Line.结构类型Point由x和y两个成员,他
们分别表示点的横坐标和纵坐标.
Line类有两个数据成员a和b,它们分别表示直线方程中的系数a和b.Line类有一个成员函数print用于显示直线方程;友元函数SetPoint(Line &L1,Line &L2)用于求两条直线的交点.
在main函数中,建立两个直线对象,分别调用print函数显示两条直线的方程,并调用函数SetPoint求这两条直线的交点.
#include <iostream>
#include <cmath>
using namespace std;
class Point //Point类声明
{
public:
Point(int xx=0,int yy=0)
Point(Point &p);
int GetX()
int GetY()
private:
int X,Y;
};
Point::Point(Point &p) //拷贝构造函数的实现
{
X=p.X;
Y=p.Y;
cout<<"Point拷贝构造函数被调用"<<endl;
}
//类的组合
class Line //Line类的声明
{
public://外部接口
Line (Point xp1,Point xp2);
Line (Line &);
double GetLen()
private://私有数据成员
Point p1,p2; //Point类的对象p1,p2
double len;
};
//组合类的构造函数
Line::Line (Point xp1,Point xp2)
:p1(xp1),p2(xp2)
{
cout<<"Line构造函数被调用"<<endl;
double x=double(p1.GetX()-p2.GetX());
double y=double(p1.GetY()-p2.GetY());
len=sqrt(x*x+y*y);
}
//组合类的拷贝构造函数
Line::Line (Line &Seg):p1(Seg.p1),p2(Seg.p2)
{
cout<<"Line拷贝构造函数被调用"<<endl;
len=Seg.len;
}
//主函数
int main()
{
Point myp1(1,1),myp2(4,5); //建立Point类的对象
Line line(myp1,myp2); //建立Line类的对象
Line line2(line); //利用拷贝构造函数建立一个新对象
cout<<"The length of the line is:";
cout<<line.GetLen()<<endl;
cout<<"The length of the line2 is:";
cout<<line2.GetLen()<<endl;
}
5.定义一个表示点的结构类型Point和一个由直线方程 确定的直线类Line.结构类型Point由x和y两个成员,他 :定义一个结构体Point(包括x和y),输入两个点的信息,计算相应的直线方程,并将方程输出 在二维直角坐标系上,定义一个点类Point,由类Point派生定义描述一个线段的类Line.要求Line类的成员函数能计 设计一个程序,其中有2个类,Point类为点类,包含2个私有数据x和y,表示点的坐标,line类为直线类,包含3个私有数 首先定义一个点类 POINT ,有两个 double 型的 保护 数据成员 x ,y 表示该类对象在二维坐标系中的坐标位 定义一个点类Point,成员变量包含x,y坐标,成员函数包含构造函数(无参和两个参数的构造函数),析构函数,输出坐标x, JAVA编程问题 定义一个泛型类Point,它包含横坐标x和纵坐标y两个变量,类型均为T 用point类公有派生一个line类,其数据成员为起点和终点,给出完整的line类定义,其中包括构造拷贝析构函数 先设计点类(Point),该类的数据成员包括一个点的x坐标和y坐标,成员函数实现的 设计一个Point类,要求如下: 1.私有成员x和y代表一个点的x,y坐标值; 2.定义一个无参的构造函数,一个有两 Point类是对二维直角坐标系中的点的抽象.它拥有两个私有的数据成员,分别代表x和y坐标;另外有两个成员函数,一个是构造 设计一个点类Point,其中包含点的坐标x和y两个数据成员,并设计两个友元函数,分别计算两点间的水平距离和