Шаблонний клас std::multiplies являється класом функціональних об’єктів, які виконують базові арифметичні операції з двома операндами-параметрами перевантаженого оператора дужок (виклик функції). Оголошення:
template <class T> struct multiplies:
binary_function <T,T,T>
{
T operator() (const T& x, const T& y) const
{ return x*y ; }
} ;
Перевантажений оператор дужок отримує передані параметри x i y і повертає значення, яке відображає результат множення параметрів в даному типі. Параметр шаблону T вказує на тип параметрів і тип в якому зберігається повернене значення.
Щоб використовувати клас std::multiplies необхідно підключити файл functional:
#include <functional> /* усе корисне разом з std::multiplies */
Приклади
Приклад #1
Розглянемо найпростіший приклад використання класу – пряме застосування до значення зміних.
#include <functional> /* std::multiplies */
#include <iostream> /* об'єкт cout */
using namespace std ; /* друкуємо усе без std */
/* головна функція програми*/
int main (int argc, char** argv)
{
/* створюємо піддослідний примірник класу */
multiplies <int> dpred ;
/* створюємо змінні для збереження значень */
int a = 12 ,
b = 11 ;
/* тестуємо значення предикату
** відносно змінних */
cout << a << " * " << b << " : " << dpred (a, b) << endl ;
return 0 ;
}
Вивід програми: