标题:关于运算符重载函数做为友元函数
取消只看楼主
suizier
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-3-31
 问题点数:0 回复次数:1 
关于运算符重载函数做为友元函数

请问这段代码哪里有错啊,我参考了几本书都是这样写的,可是VC6.0怎么通不过呢?


#include <iostream>
using namespace std;

class Complex
{
public:
Complex(){real=0;imag=0;}
Complex(double r,double i){real=r;imag=i;}

friend Complex operator + (Complex &c1,Complex &c2);
void display();
private:
double real;
double imag;
};

Complex operator + (Complex &c1,Complex &c2)
{return Complex(c1.real+c2.real,c1.imag+c2.imag);}

void Complex::display()
{cout<<"("<<real<<","<<imag<<"i)"<<endl;
}

int main()
{
Complex c1(3,4),c2(5,-10),c3;
c3=c1+c2;

cout<<"c1=";c1.display();
cout<<"c2=";c2.display();
cout<<"c1+c2=";c3.display();
return 0;
}

报错:

fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'msc1.cpp', line 1786)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
Error executing cl.exe.

1.obj - 1 error(s), 0 warning(s)

搜索更多相关主题的帖子: 运算符 函数 重载 
2007-03-31 20:24
suizier
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-3-31
得分:0 
谢谢楼上的回答!
2007-03-31 22:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-128396-1-1.html




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

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