C
canfänger
Hi!
Ich würde gern wissen ob man C-strukturen verschachteln kann um eine Art Vererbung wie in C++ etc. zu simulieren,. Der Code unten produziert bei mir keine Fehler, doch soweit mir das bekannt ist optimieren die Compiler die interna von Structs (Alignment etc.) - kann ich dennoch guten Gewissens so arbeiten?
Danke im Vorraus
Peter
Ich würde gern wissen ob man C-strukturen verschachteln kann um eine Art Vererbung wie in C++ etc. zu simulieren,. Der Code unten produziert bei mir keine Fehler, doch soweit mir das bekannt ist optimieren die Compiler die interna von Structs (Alignment etc.) - kann ich dennoch guten Gewissens so arbeiten?
C:
typedef struct {
unsigned length;
unsigned width;
} quad_t;
typedef struct {
quad_t base;
unsigned height;
} cube_t;
static int
print_quad_values(FILE *stream, quad_t *quad) {
return fprintf( stream, "Length: %u\nWidth: %u\n",
quad->length, quad->width );
}
/* .. */
int
main(void) {
/* .. */
cube_t *cube = (cube_t*) malloc(sizeof(cube_t));
/* .. */
print_quad_values(stderr, (quad_t*) cube);
/* .. */
free(cube);
/* .. */
return 0;
}
Danke im Vorraus
Peter