ЯП Си: Можно ли созадать функцию в структуре?

ЯП Си: Можно ли созадать функцию в структуре?
  • Вопрос задан
  • 2716 просмотров
Пригласить эксперта
Ответы на вопрос 2
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Создать (т.е. определить) функцию в структуре нельзя. Можно определить указатель на функцию.
Ответ написан
Комментировать
tsarevfs
@tsarevfs
C++ developer
Методы можно создавать в C++ но не в C. Однако и на C пишут в объектно ориентированном стиле. Например, можно договориться описывать методы как функции, префикс имени которых совпадает с именем класса, а в качестве первого параметра передается указатель на экземпляр класса:
struct Car
{
	int speed;
	int pos_x;
	int pos_y;
};
void Car_set_pos(struct Car * car, int x, int y)
{
	car->pos_x = x;
	car->pos_y = y;
}
void Car_print_speed(struct Car * car)
{
	printf("%d\n", car->speed);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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