| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 531 人关注过本帖
标题:函数重载问题
只看楼主 加入收藏
sunlin1234
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-4-11
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
函数重载问题
#include<iostream>

using namespace std;
class Complex
{

public:
    Complex(){real=0,imag=0;}
    Complex(double r,double i){r=real;i=imag;}//设置实部和虚部的变量
    Complex operator+(Complex c2);//申明重载函数运算符的额+的函数
    void display();//输出函数
private:
    double real;
    double imag;
};

Complex Complex::operator+(Complex c2)//定义重载运算符+
{ Complex c;
    c.real=real+c2.real;
    c.imag=imag+c2.imag;
    return c;
}
void display() //输出
{ cout<<"("<<real<<","<<imag<<")";}
int main()
{
    Complex c1(3,4),c2(5,-10),c3;
    c3=c1+c2;
    cout<<"c1=";c1.display();
    cout<<"c2=";c2.display();
    cout<<"c1+c2=";display();
    return 0;
}
错误是G:\vc6.0\anzhuang\MSDev98\Bin\重载.cpp(24) : error C2065: 'real' : undeclared identifier
G:\vc6.0\anzhuang\MSDev98\Bin\重载.cpp(24) : error C2065: 'imag' : undeclared identifier
求解决。谢谢
搜索更多相关主题的帖子: private Complex display include public 
2015-04-11 17:53
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:7 
设置实部虚部那个函数,里面赋值语句反了real=r;imag=i;

一片落叶掉进了回忆的流年。
2015-04-11 18:39
bravetang
Rank: 1
等 级:新手上路
帖 子:11
专家分:8
注 册:2015-4-2
收藏
得分:7 
回复 楼主 sunlin1234
+1,不过重载函数的定义可以优化一下:

Complex Complex::operator+(const Complex& c2)const//定义重载运算符+
{
    return Complex (real+c2.real,imag+c2.imag);
}
2015-04-12 23:48
AleTiff
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:64
专家分:157
注 册:2015-3-30
收藏
得分:7 
看仔细:

void display() //输出
{
    cout<<"("<<real<<","<<imag<<")";
}

编译器是在抗议你上面那个函数里的 real 变量。编译器找不到这个变量,我查你代码,并没有在哪个全局的位置里,声明了这个 real 。
噢,
另外一个 imag,也是没有声明过的。

[ 本帖最后由 AleTiff 于 2015-4-13 12:28 编辑 ]
2015-04-13 12:26
AleTiff
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:64
专家分:157
注 册:2015-3-30
收藏
得分:0 


不好意思,是你 display() 成员函数,写成了普通函数。

你应该在写成 Complex::display() 这样的。哈哈哈哈。
2015-04-13 12:30
快速回复:函数重载问题
数据加载中...
 
   



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

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