Structure de l’inheritance en C

Est-il possible d’hériter d’une structure avec une autre en C ou C ++ standard?

C ne supporte pas l’inheritance.

C ++ prend en charge l’inheritance.

Vous pouvez incorporer une structure dans une autre pour simuler l’inheritance en C:

typedef struct { int i; } base; void basefunc(base *b); typedef struct { base b; char c; } extended; extended e; /* Initialise extended here */ basefunc(&e.b); /* Use the type checker */ basefunc((base*)&e); /* Just make sure you know what you're doing */ 

La seule différence entre struct et class est la visibilité par défaut des membres et le mode d’inheritance par défaut. struct D : B { ... est équivalent à la class D : public B { public: ...