求高手解答C++问题
#include"iostream.h"#include"stdio.h"classxsys{private:floatreal;floatimage;public:xs...
#include "iostream.h"
#include"stdio.h"
class xsys
{
private:
float real;
float image;
public:
xsys(int x=0,int y=0)
{
real=x;
image=y;
}
~xsys()
{
}
xsys add(xsys z)
{
xsys t;
t.real=real+z.real;
t.image=image+z.image;
return t;
}
xsys sub(xsys z)
{
xsys t;
t.real=real-z.real;
t.image=image-z.image;
return t;
}
void show()
{
cout<<real<<"+"<<image<<"i"<<endl;
}
};
main()
{
int x,y,d,f;
cin>>x>>y>>d>>f;
xsys a(x,y),b(d,f),c;
c=a.add(b);
cout<<"---------"<<endl;
c.show();
c=a.sub(b);
cout<<"---------"<<endl;
c.show();
}
这是程序代码、
如果把这两行去了 int x,y,d,f;
cin>>x>>y>>d>>f;
再把下面一行的 x,y,d,f,改成数字。就可以运行了。这个程序就是复数的加减运算。
但为什么我学C里面的scanf给x,y,d,f流出空间后,程序运行后就直接输了四个数,然后就没了呢? 展开
#include"stdio.h"
class xsys
{
private:
float real;
float image;
public:
xsys(int x=0,int y=0)
{
real=x;
image=y;
}
~xsys()
{
}
xsys add(xsys z)
{
xsys t;
t.real=real+z.real;
t.image=image+z.image;
return t;
}
xsys sub(xsys z)
{
xsys t;
t.real=real-z.real;
t.image=image-z.image;
return t;
}
void show()
{
cout<<real<<"+"<<image<<"i"<<endl;
}
};
main()
{
int x,y,d,f;
cin>>x>>y>>d>>f;
xsys a(x,y),b(d,f),c;
c=a.add(b);
cout<<"---------"<<endl;
c.show();
c=a.sub(b);
cout<<"---------"<<endl;
c.show();
}
这是程序代码、
如果把这两行去了 int x,y,d,f;
cin>>x>>y>>d>>f;
再把下面一行的 x,y,d,f,改成数字。就可以运行了。这个程序就是复数的加减运算。
但为什么我学C里面的scanf给x,y,d,f流出空间后,程序运行后就直接输了四个数,然后就没了呢? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询