C++重载操作符
1.重载操作符的必要性 C++的数据类型分为 基础数据类型 和 构造数据类型 ,基础数据类型客户直接完成算数运算,但是比如类这样的新构造的数据类型是无法通过基本运算符进行算数运算的。此时,便需要重载操作符。 2.形式和规则 大多数的重载运算符可被定义为 普通的非成员函数 或者被定义为 类成员函数 。 重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。 Box operator + ( const Box & ) ; 如果我们定义上面的函数为类的非成员函数,那么我们需要为每次操作传递两个参数,如下所示: Box operator + ( const Box & , const Box & ) ; 2.1一元运算符 只对一个操作数进行操作,这里包括: 一元减运算符,即负号( - );递增运算符( ++ )和递减运算符( – ) 递增运算符包括前置和后置两种情况,区别如下: 前置++:即++运算符位于操作数的前面,例如:++i; 后置++:即++运算符位于操作数后面,例如:i++; 1、前置++重载时没有参数,而后置++重载时有参数。不会使用其参数,仅仅是区分用。 2、前置++需要返回引用,因为重载自加运算符后可以返回对象的引用, 以方便在表达式中连续使用。而后置++返回的不是引用