回 帖 发 新 帖 刷新版面

主题:[原创]C++中运算符重载的问题

#include <iostream.h>
class complex
{
public:
complex() {real=image=0;}
complex(double r, double i)
{real=r;image=i;}
complex operator +(const complex &c); 
complex operator -(const complex &c); 
complex operator *(const complex &c); 
complex operator /(const complex &c); 
friend void print(const complex &c);
private:
    double real,image;
};
以下略
complex operator +(const complex &c); 这里将+重载后面又出现c是什么意思啊
这里的+重载有什么意义?
谢谢各位,我真的是看的很晕啊

回复列表 (共4个回复)

沙发

传递的参数

板凳

...

3 楼

const complex &c
是一个引用

4 楼

complex operator +(const complex &c); 
函数名为 operator +
此函数有一个参数,即为 complex 类对象的一个常引用,在此函数内部不能更改对象 c 的值
此函数返回值为一个 complex 类的对象
如:
complex a, b, c;
c = a.operator +(b);
也可以写成
c = a + b;

我来回复

您尚未登录,请登录后再回复。点此登录或注册