| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1360 人关注过本帖
标题:运算符重载问题,看不懂错误提示
只看楼主 加入收藏
唐兵
Rank: 2
来 自:四川泸州合江
等 级:论坛游民
帖 子:150
专家分:12
注 册:2012-12-1
结帖率:82.05%
收藏
已结贴  问题点数:10 回复次数:13 
运算符重载问题,看不懂错误提示
#include <iostream>
using namespace std;
class Complex
{public:
friend Complex operator + (Complex &c1,Complex &c2);
Complex(double r=0,double i=0){real=r;imag=i;}
double get_real();
double get_imag();
void display();
double real;
double imag;
};
double Complex::get_real()
{return real;}
double Complex::get_imag()
{return imag;}

Complex operator + (Complex &c1,Complex &c2)
{Complex c;
 c3.real=c1.get_real()+c2.get_real();
 c3.imag=c1.get_imag()+c2.get_imag();
 return c ;
}
int main()
{Complex c1(3,4),c2(5,-10),c3;
c3=c1+c2;
cout<<"c3=";
cout<<c3;
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.
搜索更多相关主题的帖子: Complex display include public double 
2013-06-18 16:43
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:2 
编译器本身出错了
类似于阅卷老师突然病亡
2013-06-19 08:14
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:6 
#include <iostream>
using namespace std;
class Complex
{public:
friend Complex operator + (Complex &c1,Complex &c2);
Complex(double r=0,double i=0){real=r;imag=i;}
double get_real();
double get_imag();
void display();
double real;
double imag;
};
double Complex::get_real()
{return real;}
double Complex::get_imag()
{return imag;}
//定义display输出函数
void Complex::display()
{cout<<"("<<real<<","<<imag<<")"<<endl;}
Complex operator + (Complex &c1,Complex &c2)
{Complex c3;
c3.real=c1.get_real()+c2.get_real();
c3.imag=c1.get_imag()+c2.get_imag();
return c3 ;
}
int main()
{Complex c1(3,4),c2(5,-10),c3;
c3=c1+c2;
cout<<"c3=";
c3.display();//调用display函数输出信息
return 0;
}
只是修改了几处加注释的地方,然后就实现了楼主你想要的功能

思考赐予新生,时间在于定义
2013-06-19 11:34
唐兵
Rank: 2
来 自:四川泸州合江
等 级:论坛游民
帖 子:150
专家分:12
注 册:2012-12-1
收藏
得分:0 
回复 3楼 love云彩
我也看了书上可以同函数输出c3,但也可以直接输出啊。而且那段代码还是需要把friend Complex operator + (Complex &c1,Complex &c2);这段删除才能正确运行,咋的呢

一个人如果不比自己一把,你永远不知道自己究竟有多厉害
2013-06-19 16:10
唐兵
Rank: 2
来 自:四川泸州合江
等 级:论坛游民
帖 子:150
专家分:12
注 册:2012-12-1
收藏
得分:0 
回复 2楼 rjsp
但把friend Complex operator + (Complex &c1,Complex &c2);删除了就不是那个错误了

一个人如果不比自己一把,你永远不知道自己究竟有多厉害
2013-06-19 16:11
子楠
Rank: 3Rank: 3
来 自:武汉
等 级:论坛游侠
帖 子:111
专家分:164
注 册:2013-4-9
收藏
得分:0 
求解
2013-06-19 17:23
子楠
Rank: 3Rank: 3
来 自:武汉
等 级:论坛游侠
帖 子:111
专家分:164
注 册:2013-4-9
收藏
得分:0 
这问题,晕,哪里出错了
2013-06-19 17:31
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:2 
回复 4楼 唐兵
等我明天中午考完试,下午再解释给你听,问题不大的

思考赐予新生,时间在于定义
2013-06-20 02:04
唐兵
Rank: 2
来 自:四川泸州合江
等 级:论坛游民
帖 子:150
专家分:12
注 册:2012-12-1
收藏
得分:0 
回复 8楼 love云彩
好的,谢谢

一个人如果不比自己一把,你永远不知道自己究竟有多厉害
2013-06-20 12:31
唐兵
Rank: 2
来 自:四川泸州合江
等 级:论坛游民
帖 子:150
专家分:12
注 册:2012-12-1
收藏
得分:0 
回复 8楼 love云彩
有空了没

一个人如果不比自己一把,你永远不知道自己究竟有多厉害
2013-06-21 10:24
快速回复:运算符重载问题,看不懂错误提示
数据加载中...
 
   



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

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