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 установить значения полей
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы