帮忙看下C++程序哪里错了

#include<iostream>

template <class T>

class Complex
{
private:
float a,b;
public:
Complex(float r,float v)
{
a=r;
b=v;
}
int operator > (Complex q)
{
Complex w(a,b);
if((q.a+q.b)>(w.a+w.b)) return 1;
else return 0;
}

int operator < (Complex q)
{
Complex w(a,b);
if((q.a+q.b)<(w.a+w.b)) return 1;
else return 0;
}

int operator = (Complex q)
{
Complex w(a,b);
if((q.a==w.a)&&(q.b==w.b)) return 1;
else return 0;
}
void Compare(T x1,T x2)
{
if(x1>x2) cout<<"x1>x2"<<endl;
if(x1<x2) cout<<"x1<x2"<<endl;
else cout<<"x1=x2"<<endl;
}
};

int main()
{
Complex c1(2.0,3.0);
Complex c2(2.0,3.0);

Compare(Complex c1,Complex c2);

return 0;
}

帮你把编译错误搞没了,不知道是不是你想要的结果
#include<iostream>
class Complex
{
private:
float a,b;
public:
Complex(float r,float v)
{
a=r;
b=v;
}
int operator > (Complex q)
{
Complex w(a,b);
if((q.a+q.b)>(w.a+w.b)) return 1;
else return 0;
}

int operator < (Complex q)
{
Complex w(a,b);
if((q.a+q.b)<(w.a+w.b)) return 1;
else return 0;
}

int operator = (Complex q)
{
Complex w(a,b);
if((q.a==w.a)&&(q.b==w.b)) return 1;
else return 0;
}
};

template <class T>
void Compare(T x1,T x2)
{
if(x1>x2) std::cout<<"x1>x2"<<std::endl;
if(x1<x2) std::cout<<"x1<x2"<<std::endl;
else std::cout<<"x1=x2"<<std::endl;
}

int main()
{
Complex c1(2.0,3.0);
Complex c2(2.0,3.0);

Compare(c1,c2);

return 0;
}追问

if(x1>x2) std::coutx2"<<std::endl;
if(x1<x2) std::cout<<"x1<x2"<<std::endl;
else std::cout<<"x1=x2"<<std::endl;

std:: 这是什么意思呢

追答

std是标准库的作用域名, cout和endl是在std的命名空间下的。 你不加可以编过,是因为有地方调用了 using std::cout; using std::endl了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-28
修改后:

#include<iostream>

using namespace std;

template <class T>

class Complex
{
private:
T a,b;
public:
Complex()
{
}

Complex(T r,T v)
{
a=r;
b=v;
}
int operator > (Complex q)
{
if((q.a+q.b)>(a+b)) return 1;
else return 0;
}

int operator < (Complex q)
{
if((q.a+q.b)<(a+b)) return 1;
else return 0;
}

int operator = (Complex q)
{
if((q.a==a)&&(q.b==b)) return 1;
else return 0;
}
void Compare(Complex<T> x2)
{
if(a>x2.a) cout<<"x1>x2"<<endl;
else if(a<x2.a) cout<<"x1<x2"<<endl;
else cout<<"x1=x2"<<endl;
}
};

int main()
{
Complex<float> c1(2.0,3.0);
Complex<float> c2(2.0,3.0);

c1.Compare(c2);

return 0;
}
第2个回答  2012-05-28
if(a>b) {t=a;a=b;b=t} if(a>c) {t=a;a=c;c=t} if(a>d) {t=a;a=d;d=t} if(b>c) {t=b;b=c;c=t} if(b>d) {t=b,Fqkwpu

C++请问下面这个程序哪里错了,我照课本输入输入时, 显示1 error(s...
point D[2]={Point(5,7),Point(8,12)};错了,把point D[2]改成Point D[2]VC区分大小写的,注意

我这段c++程序通不过编译,大家帮看看哪里错了。提示“can not convert...
首先,你这个代码有内存泄漏问题,malloc到的空间,没有free 其次,返回值应该是char,不是char*,因为你返回的是 *s,如果是return s的话就对了。

谁帮我看一下这个C++程序错在哪里啊?刚开始学函数………
你好粗心哦 就是 for(j=1;j<=2i-1;++j) cout<<"#";这里输入错了 是j < = 2 * i -1啊 2i当然不认喽 include<iostream.h> void printstar ();void printstars (int n);int main (){ int n;printstar ();cout<<"请输入行数";cin>>n;printstars (4);return 0;} void ...

MFC C++,看一下哪里错了
你程序中用了L这个UNICODE转换宏,如果你的代码不是UNICODE版本的就会出错。建议:试试删掉两处L 如果你确认你的代码是UNICODE版本,那么最后那个字符串"address"也要用L来转换。lRetCode = RegSetValueEx ( hKey,L"SP",0, REG_SZ,(byte*) (L"address"),100);

c++ 有一道题目麻烦各位帮我看看我做的哪里错了,谢谢!
一开始就错了。既然是用switch语句,那么p是整型,而不能定为实型。从各个奖金的区间来看,你分的各种case基本都错了,从case 2开始,后面都错了。而且题目没有如果输入p的值是负数的错误提示。整个程序基本上错得差不多了。

C++,大佬们看下这里报错是为什么?可是这代码能AC啊?!
首先我们来看 include 的部分,我们一个一个来看,iostream 不用多说了,C++标准输入输出的头文件,包含了 C++输入输出流函数,也就是经典的 cin、cout。说到 cin、cout 多说两句,cin、cout 的开销要比 C 语言下的 scanf 和 printf 慢很多,很容易影响程序运行的性能。所以对于 acmer 来说,能用...

运行写好的C++程序出现“Error spawning cl.exe”是什么原因,应该怎么...
运行写好的C++程序出现“Error spawning cl.exe”,是设置错误造成的,解决方法如下:1、首先在打开的C+中,新建一个项目,给项目添加一个cpp文件,如图所示。2、然后输入一段会出现error C2679错误的代码,如图所示。3、运行程序,可以看到程序发生了错误,如图所示。4、造成此错误的原因是:代码中...

c++中怎么看程序哪里出错
运行后下面有出错提示,双击出错的提示然后代码出错的地方会有箭头标注。

VC++程序问题帮我看看着段代码错在哪
LSock.h这个文件中'm_Dat'变量定义的地方出错,这个变量的类型应该是另外一个自定义的类吧,而你没有引入对应的头文件

请帮我看看这个c++程序是什么错误 应该怎样改
首先,表示,窗口程序编写没有问题。我想,你的问题是,编译环境设置问题。如果是VC++6.0下,找到属性选项,选择设置 菜单项。进入 链接选项卡 在最下面的一个文本框中,找到console修改成windows就可以编译运行了。

相似回答
大家正在搜