C++运算符重载【1】


什么是运算符重载

什么是运算符重载,其实就是函数的重载;

运算符重载 的好处:

1.扩充C++的运算符;

如:

对++的运算符的扩充可以达到对类的自增与自减;

Complex operator++();      前置++

Complex operator++(int) ;后置++;

Complex operator--(); 前置--;

Complex operator--(int);    后置--;

说明:

在重载运算符自增与自减里的后置++/--是通过在参数表中填写int来实现的,如果不加Int的话系统是不能自动的识别的;


对“<<"与”>>"插入流操作符与提取流操作符的扩充达到对类数据成员的操作;

istream &operator>>(iostream &, Complex &c1);

ostream &operator<<(ostream &, Comlplex &c1);

...

.......

..................



2.可以进行复数运算:

如:

#include <iostream.h>
classs Complex
{
    public:
            Complex(){real = 0; imag = 0;}
            Complex(double r, double i){real  = r; imag = i;}
            Complex operator+(Complex &c1);
	    void display();
    private:
	 double real;
	 double imag;
};
Complex Complex::operator+(Complex &c1)
{
	return Complex(real + c1.real, imag + c1.imag):
}
void Complex ::display()
{
	cout<<"("<<real<<","<<imag<<"i)"<<endl;
}

int main()
{
	Complex c1(100, 20), c2(23, 100), c3;
		c3 = c1 + c2;
		cout<<"c1=";c1.display();
		cout<<"c2=";c2.display();
		cout<<"c1+c2=";c3.display();
return 0;
}
/*
结果:		(100, i23);
			(23, i100);
			(123, 123i);
*/

由上面的这个例子可以看到,运算符重载是可以实现复数的运算;是很方便的;


运算符的重载方式;

1.在类中定义成员函数实现运算符重载;

2.将一个普通函数声明为类的友元;


<未完待续....>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值