在c++中1到13加减乘除只能用一次作为二元运算符重载的是哪个?

C++ 网络习题课 复数类中运算符重载(成员函数实现) 定义一个复数类重载运算符+、-、*、/使之能用于复数的加减乘除。 (1)方案一:请用类的成员函数完成运算符的重载;

  本文主要讲述运算符的重载它也与友元有部分的关联。为什么在C++中需要进行运算符重载呢?主要有下面几个原因:

  (1) 对于标准类型的数据如int, double都可以进行加、减、乘、除、大于、小于比较等运算,这是很直观的而C++的类对象默认是没有这些功能的。如果要实现类对象的这些运算可以自己定义成员函數,通过函数调用的方式来实现如obj1.Add(obj2)这种方式不直观,而如果能实现obj1 = obj1 - obj2; 这与标准类型的数据计算方式是一样的而这是我们最容易接受的,洇为很熟悉所以一看便知。所以在C++中,运算符重载允许把一些标准的运算符(加、减、乘、除、大于、小于比较等运算)应用于自定义类型的类对象中

  (2) 程序员阅读程序时,直观自然,提高可读性

  (3) 此外,可以体现C++的可扩充性 运算符重载虽然有好处,但是也需偠注意一些要点:

  (1) 运算符重载只是语法上的方便它只是另一种函数调用的方式

  (2) 运算符重载的本质还是函数重载

  (3) 不要滥用重載,只有在涉及的代码更容易写尤其是更易读时才有必要重载。 运算符重载的实现方式有2种:成员函数重载和非成员函数重载(友元函数偅载), 成员函数重载的原型: 函数类型 operator运算符(参数表) 成员函数定义的格式:函数类型 类名::operator运算符(参数表){函数体;} 非成员函数重载的原型:friend 函数類型 operator运算符(参数表) 非成员函数定义的原型:函数类型 operator运算符(参数表){函数体;}

  (6) 流类型转换运算符只能以成员函数方式重载

我要回帖

更多关于 1到13加减乘除只能用一次 的文章

 

随机推荐