| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 457 人关注过本帖
标题:&c 和 c 请看红字部分
只看楼主 加入收藏
waja
Rank: 2
等 级:论坛游民
帖 子:53
专家分:52
注 册:2012-7-27
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:1 
&c 和 c 请看红字部分
class Complex
{
private :
    float Real, Image;
public:
    Complex(float x = 0, float y = 0)
    {
        Real = x;
        Image = y;
    }
    void Show(int i)
    {
        cout << "c" << i << "=" << Real << "+" << Image << "i" << endl;
    }
    Complex operator + (Complex c);//////////////////////////请问这里书籍上给的是&c 但是这里用c结果一样
    Complex operator - (Complex &c);/////////////////////////为什么要用&c
    void  operator += (Complex &c);
    void operator = (Complex &c);
};



Complex Complex :: operator + (Complex c)///////////////////
{
    Complex t;
    t.Real =  Real + c.Real;
    t.Image = Image + c.Image;
    return  t;
}


Complex Complex :: operator -(Complex &c)/////////////////////////
{
    Complex t;
    t.Real = Real - c.Real;
    t.Image = Image - c.Image;
    return t;
}

void Complex :: operator += (Complex &c)
{
    Real = Real + c.Real;
    Image = Image + c.Image;
}

void Complex :: operator = (Complex &c)
{
  Real  = c.Real;
  Image = c.Image;
}

void main()
{
    Complex c1(15,34), c2(30,57),c3,c4;
    c1.Show(1);
    c2.Show(2);
    c3 = c1 + c2;
    c4 = c1 - c2;
    c3.Show(3);
    c4.Show(4);
    c2 += c1;
    c2.Show(5);


}


搜索更多相关主题的帖子: Complex private public 书籍 
2014-03-18 15:16
lonely_21
Rank: 5Rank: 5
等 级:职业侠客
威 望:3
帖 子:108
专家分:395
注 册:2011-11-13
收藏
得分:20 
   Complex operator + (Complex c);//////////////////////////请问这里书籍上给的是&c 但是这里用c结果一样   
    Complex operator - (Complex &c);/////////////////////////为什么要用&c
参数用&表示是引用的意思,这样会节省空间,不会产生中间临时变脸
如下:
int fun1(int a)
{
   a=10;
}
int fun2(int &a)
{
    a=10;
}

int main()
{
    int b=3;
    fun1(b);//调用fun1函数后,b还是3,因为在fun1函数中,改变的是中间变量的值
    fun2(b);//但调用fun2函数后,b就变成10了,此处改变的是b变量的值
    return 0;
}
2014-03-18 15:23
快速回复:&c 和 c 请看红字部分
数据加载中...
 
   



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

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