| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 448 人关注过本帖
标题:[求助]繼續解釋一段程序代碼
只看楼主 加入收藏
hemingsheng
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2007-5-16
结帖率:100%
收藏
 问题点数:0 回复次数:4 
[求助]繼續解釋一段程序代碼

#include <iostream.h>
#include <math.h>
class Quadratic
{
double a,b,c;
public:
Quadratic(){a=b=c=0;}
Quadratic(double aa,double bb,double cc);
Quadratic operator+(Quadratic &x);
Quadratic operator-(Quadratic &x);
double Compute(double x);
int Root(double &r1,double &r2);
void Print();
};
Quadratic Quadratic::operator+(Quadratic &x)
{
Quadratic m;
m.a=a+x.a;
m.b=b+x.b;
m.c=c+x.c;
return m;
}
Quadratic Quadratic::operator-(Quadratic &x)
{
Quadratic n;
n.a=a-x.a;
n.b=b-x.b;
n.c=c-x.c;
return n;
}
double Quadratic::Compute(double x)
{

return a*x*x+b*x+c;
}
int Quadratic::Root(double &r1,double &r2)
{
if(a==0)
{
cout<<"不是一元二次函数"<<endl; return -1;
}
if(b*b-4*a*c==0)
{
r1=r2=(-b)/2*a; return 1;
}
if(b*b-4*a*c<0)
{
cout<<"无实根"<<endl; return 0;
}
else
{ r1=(-b)+sqrt(b*b-4*a*c)/(2*a);
r2=(-b)-sqrt(b*b+4*a*c)/(2*a);
return 1;
}
}
void Quadratic::Print()
{
if(b<0 && c<0)
{
cout<<a<<"x**2"<<b<<"x"<<c<<endl;
}
if(b<0 && c>0)
{
cout<<a<<"x**2"<<b<<"x"<<"+"<<c<<endl;
}
if(b>0 && c<0)
{
cout<<a<<"x**2"<<"+"<<b<<"x"<<c<<endl;
}

}
Quadratic::Quadratic(double aa,double bb,double cc)
{
a=aa;
b=bb;
c=cc;
}
void main()
{
double a,b,c,x;
double r1,r2;
double a1,a2,b1,b2,c1,c2;
cout<<"请输入方程三个系数a,b,c的值:"<<endl;
cout<<"a= ";cin>>a;
cout<<"b= ";cin>>b;
cout<<"c= ";cin>>c;
Quadratic p1(a,b,c);
cout<<"该函数是: "<<endl;
p1.Print();
cout<<"该函数为零的两个根是: "<<endl;
p1.Root(r1,r2);
if(p1.Root(r1,r2)==0)
cout<<".";
else
cout<<r1<<" "<<r2<<endl;
cout<<"请输入一个X值: "<<endl;
cin>>x;
cout<<"当输入X的值为: "<<x<<"时该函数的值为: "<<endl;
p1.Compute(x);
cout<<p1.Compute(x)<<endl;
cout<<endl;
cout<<"p2 and p3"<<endl;
cin>>a1>>a2>>b1>>b2>>c1>>c2;
Quadratic p2(a1,b1,c1),p3(a2,b2,c2),p4;
p2.Print();
p3.Print();
p4=p2+p3;
p4.Print();
cout<<endl;
}


為什么后麵的操作符重載沒有實現呢????
搜索更多相关主题的帖子: 解釋 
2007-07-06 14:15
hemingsheng
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2007-5-16
收藏
得分:0 
沒有人啊 在綫等啊 哥哥姐姐們
自己先頂下

设计彼岸程序 编写人生代码
2007-07-06 14:17
hemingsheng
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2007-5-16
收藏
得分:0 

還沒有啊 我再頂!!


设计彼岸程序 编写人生代码
2007-07-06 14:19
Arcticanimal
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:341
专家分:20
注 册:2007-3-17
收藏
得分:0 
void Quadratic::Print()
{
if(b<0 && c<0)
{
cout<<a<<"x**2"<<b<<"x"<<c<<endl;
}
if(b<0 && c>0)
{
cout<<a<<"x**2"<<b<<"x"<<"+"<<c<<endl;
}
if(b>0 && c<0)
{
cout<<a<<"x**2"<<"+"<<b<<"x"<<c<<endl;
}
//掉了if(b>=0 && c>=0)
}
其余的代码没有什么问题

try new catch
2007-07-06 15:07
hemingsheng
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2007-5-16
收藏
得分:0 

知道问题出在哪儿了 谢谢~


设计彼岸程序 编写人生代码
2007-07-06 20:38
快速回复:[求助]繼續解釋一段程序代碼
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050528 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved