Например:
struct st {
int n = 0;
int m = 0;
int summa (int i, int j) {
return n + m;
}
}
код, конечно не работает, но можно ли сделать что-то подобное в Си?
Ответ
В таком виде — нет, это вам не C++. Но ничто не мешает передавать this явно.
К слову, пространств имён тут тоже нет, так что функцию придётся вытащить за пределы структуры.
И вообще, Си — это язык низкого уровня, без прикрас и синтаксического сахара. Так что извольте раскладывать всю программу по полочкам.
struct st {
int n;
int m;
};
void st_constructor(struct st* this)
{
this->n = 0;
this->m = 0;
}
int st_summa(const struct st* this) {
return this->n + this->m;
}
Комментариев нет:
Отправить комментарий