Указатели на функции
Указатели на функции в С++ Одно из отличие С и С++ - в С++ есть перегрузка. Тогда получается F f = qsort; // будет вызываться, что подойдет лучше всего Вопрос: Как происходит работа с шаблонными функциями? Ответ: Рассмотрим пример:
Вопрос:
Как получить указатели на члены класса?
Ответ:
Рассмотрим пример:
struct Person {
int m_age;
int m_salary;
string m_name;
string name() {
return m_name;
}
}
Тогда
int Person::(*p) = &Person::m_age;
string (Person::*f)() const = &Person::name;
Далее имеем Person pers; (pers.*p) = 10; (pers.*f)();
Вопрос: Мы имеем указатель на мембер класса. Можем ли мы его передавать как параметр функции? Ответ: Да, можем. К примеру,
struct by_field { by_field(int Person::*field) }
Замечание: Указатели на мемберы не приводяться ник чему. Они могут проверяться на равенство 0.