编写一个类,实现一元二次方程组的求解 要求:(1)类的数据成员和函数成员(包括构造函数)要设计清晰,对它们的访问做好限定;(2)有两个构造函数,其中一个不带参数,另一个带参数,不带参数构造函数初始化a=1,b=2,c=2,类最终实现方程组x*x+2x+2=0的解,带参数的构造函数通过对外接口获得a,b,c,并解方程;(4)main函数调用类实现解方程和输出结果。
我最后编的 有什么问题 请高手指正 谢谢
#include<iostream>
#include<math.h>
using namespace std;
class M
{public:
M();
M(float a,float b,float c):A(a),B(b),C(c){}
float X();
private:
float A;
float B;
float C;
};
M::M()
{
A=1;
B=2;
C=2;
}
float M::X()
{
float a,b,c,d,e,x1,x2;
d=b*b-4*a*c;
if(a=0)
{
x1=x2=-c/b;
cout<<"x="<<x1<<endl;
}
else
{
if(d<0)
{
e=sqrt(d);
x1=-b/(2*a)+e/(2*a);
x2=-b/(2*a)-e/(2*a);
cout<<"x1="<<x1;
cout<<"i"<<endl;
cout<<"x2="<<x2;
cout<<"i"<<endl;
}
if(d==0)
{
cout<<"There is only x."<<endl;
x1=x2=(-b)/(2*a);
cout<<"x1=x2="<<x1<<endl;
}
if(d>0)
{
e=sqrt(d);
x1=(-b+e)/(2*a);
x2=(-b-e)/(2*a);
cout<<"x1="<<x1<<endl;
cout<<"x2="<<x2<<endl;
}
}
return(x1,x2);
}
int main()
{
cout<<"a=1,b=2,c=2"<<endl;
M m1;
m1.X();
M m2;
float a,b,c;
cout<<"a: ";
cin>>a;
cout<<"b: ";
cin>>b;
cout<<"c: ";
cin>>c;
m2.X();
return 0;
}