Всем привет!
Учу язык Си (не С++), дошёл до структур, и они мне так напомнили уже привычное ООП, с методами.
Решил, что можно ведь реализовать «Классы» и «Методы» и в обычном Си, объявляя указатели на функции в структурах.
Да, колхозно, да можно выбрать С++, а не Си. Но просто хотелось узнать мнение бывалых Си'шников, насколько это адекватный подход (1), и вообще делают ли так (2), и как можно улучшить написанный мной пример ниже (3)?:
#include <stdio.h>
int xsum(int x, int y);
int xsum(int x, int y)
{
return x + y;
}
int main()
{
struct point
{
int x;
int y;
int (*xysum)(int x, int y);
};
struct point pt;
pt.x = 320;
pt.y = 200;
pt.xysum = &xsum;
printf("X: %d\nY: %d\nSum: %d\n", pt.x, pt.y, pt.xysum(pt.x, pt.y));
return 0;
}
Выводит:
X: 320
Y: 200
Sum: 520