您的位置:首页 > 编程语言 > C语言/C++

C++运算符重载【1】

2012-10-26 09:27 148 查看
什么是运算符重载什么是运算符重载,其实就是函数的重载;运算符重载 的好处: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.将一个普通函数声明为类的友元;<未完待续....>
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: