首页 > 试题广场 >

定义一个表示点的结构类型Point和一个由直线方程y = a

[问答题]

定义一个表示点的结构类型Point和一个由直线方程y = ax + b确定的直线类Line。结构类型Point有两个成员x和y,分别表示点的横坐标和纵坐标。Line类有两个数据成员a和b,分别表示直线方程中的系数。Line类有一个成员函数print用于显示直线方程。友元函数setPoint(Line &l1,Line &l2)用于求两条直线的交点。在main函数中,建立两个直线对象,分别调用print函数显示两条直线的方程,并调用函数setPoint求这两条直线的交点。

推荐
#include <iostream>
using namespace std;
struct point
{
   double x; double y;
};
class line
{
 public:
       line( double u, double v )
        {
 a=u;  b=v;  
}
       void print()
     {
 cout<<"y="<<a<<"x+"<<b<<endl;  
}
        friend point setpoint(line &l1,line &l2);
private:
        double a, b;
};
point setpoint( line &l1, line &l2 )
{
point p;
p.x=( l2.b-l1.b )/( l1.a-l2.a );
p.y=( l1.a*l2.b-l2.a*l1.b)/(l1.a-l2.a );
return p;
 }
int main()
{
 point setp;
      line l1(2,3), l2(4,5);
      cout<<"直线l1: ";
      l1.print();
      cout<<"直线l2: ";
      l2.print();
      setp=setpoint( l1,l2 );
      cout<<"直线l1和直线l2的交点:("<<setp.x<<","<<setp.y<<")"<<endl;
}

发表于 2018-05-07 15:12:24 回复(0)