Hitrou
@Hitrou
Начинающий программист)

Что происходит в этих строках кода?

ceh *p;
p = new ceh[2];
p->set("Ivan", "moroz", 12);
void (ceh::*pf)();
pf = &ceh::show;
(p[0].*pf)();


Объясните пожалуйста, как инициализировать остальные элементы массива.
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
@majstar_Zubr
C++, C#, gamedev
ceh *p;                  // указатель типа ceh
p = new ceh[2];.    // присваивание значения на куче
p->set("Ivan", "moroz", 12); // обращение к функции-члену p[0]
void (ceh::*pf)();    // указатель типа функции-члена структуры ceh
pf = &ceh::show;. // присваивание значения указателю 
(p[0].*pf)();  // вызов функции-члена по указателю для нулевого
(p[1].*pf)();  // для первого, но возможно сначало надо для него через set установить значения полей
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы