С++ для начинающих

       

Арифметические объекты-функции


Предопределенные арифметические объекты-функции поддерживают операции сложения, вычитания, умножения, деления, взятия остатка и вычисления противоположного по знаку значения. Вызываемый оператор – это экземпляр, ассоциированный с типом Type. Если тип является классом, предоставляющим перегруженную реализацию оператора, то именно эта реализация и вызывается.

  • Сложение: plus<Type>
  • plus<string> stringAdd;

    // вызывается string::operator+()

    sres = stringAdd( sval1, sval2 );

    dres = BinaryFunc( plus<double>(), dval1, dval2 );

    • Вычитание: minus<Type>
    • minus<int> intSub;

      ires = intSub( ival1, ival2 );

      dres = BinaryFunc( minus<double>(), dval1, dval2 );

      • Умножение: multiplies<Type>
      • multiplies<complex> complexMultiplies;

        cres = complexMultiplies( cval1, cval2 );

        dres = BinaryFunc( multiplies<double>(), dval1, dval2 );

        • Деление: divides<Type>
        • divides<int> intDivides;

          ires = intDivides( ival1, ival2 );

          dres = BinaryFunc( divides<double>(), dval1, dval2 );

          • Взятие остатка: modulus<Type>
          • modulus<Int> IntModulus;

            Ires = IntModulus( Ival1, Ival2 );

            ires = BinaryFunc( modulus<int>(), ival1, ival2 );

            • Вычисление противоположного значения: negate<Type>
            • negate<int> intNegate;

              ires = intNegate( ires );

              Ires = UnaryFunc( negate<Int>(), Ival1 );



              Содержание раздела