Red de conocimiento informático - Computadora portátil - Cómo mem_fun_ref de C admite funciones de clase multiparámetro

Cómo mem_fun_ref de C admite funciones de clase multiparámetro

mem_fun_ref requiere como máximo un parámetro (excluyendo este parámetro). Esta función tiene una funcionalidad muy limitada y ha quedado obsoleta por el estándar.

La nueva plantilla de función enlazada se puede utilizar con cualquier función, puntero de función y objeto de función. Simplemente use enlaces para adaptadores de funciones. . . .

#include lt;iostreamgt;

#include lt;funcionalgt;

#include lt;algorithmgt;

#include lt; vectorgt;

#include lt;vectorgt;

clase Humano {

público:

virtual void say(Humano y quién) = 0;

virtual ~Humano() {}

};

clase Hombre: público Humano {

público:

void say(Humano y quién) override {

std::cout lt; "¡Eres hermosa!\n";

}

};

clase Mujer: público Humano {

público:

void say(Humano amp; quién) anular {

std::cout lt; "...\n";

std:: vectorlt; Human*gt; men { nuevo hombre, nuevo hombre, nuevo hombre};

int main() {

Mujer niña;

std::for_each(men.begin(), men.end(), std::bind(amp; Human::say, std::placeholders::_1, girl));

std:: cin.get();

std:: for_each(men. comenzar(), men.end(), [](Humano *humano) { eliminar humano; }); p>

}