重複の可能性:
オブジェクト指向のコードを C で記述できますか?
Cはポリモーフィズムや継承などのない単純なクラスをサポートしていますか?
クラスとメソッドの定義だけが必要です。
C 自体にはクラスの概念はありません。
ただし、次のようなものを実装することは可能です。
struct stuff {
void (*do_it)(void);
void (*close)(void);
};
struct stuff new(void) {
struct stuff ret;
ret.do_it = ...;
ret.close = ...;
return ret;
}
int main() {
struct stuff s = new();
s.do_it();
s.close();
}
構造体を使用して、関数ポインターを格納できます。
C はオブジェクト指向ではありません。いいえ。しかし、それは構造体をサポートしています