Я изучаю понятия указателей функций в C и задавался вопросом, как использовать в структурах.Использование указателя функции в C
Скажем, например, у меня есть:
struct math{
int a;
int b;
int (*ADD)(int, int);
int (*subtract)(int, int);
};
int add(int a ,int b)
{
return (a+b);
}
int main()
{
math M1;
M1.a = 1;
M2.b = 2;
M2.ADD = add;
}
В этом функция указатель ADD указывает функционировать надстройку. Есть ли способ написать функцию, похожую на конструктор, которая будет автоматически указывать ADD для добавления?
так, что если написать M1.construct()
он должен сделать в этом
void construct()
{
ADD = add;
}
Я не хочу, чтобы писать для каждого объектов одни и те же линии. Есть ли способ для этого?
Там нет никакого способа, чтобы добавить C++ - функции-членов стиля 'struct' типов в C. – dreamlax
в ответе на ваш вопрос о автоматически указывая ADD добавить, ответ да , Хотя вы можете сохранить его до тех пор, пока вам не станет удобно пользоваться указателями, распределением памяти и т. Д. Подробности можно найти в [** Объектно-ориентированное программирование с использованием ANSI-C **] (https://ritdml.rit.edu/ручка/1850/8544). Конструкция типа класса из структур делает довольно интересное чтение. –