定义一个表示点的结构类型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; }
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题