Est-il possible d'hériter de la structure avec un autre en C ou C++ standard?Héritage de structure en C
Répondre
C ne prend pas en charge l'héritage.
C++ prend en charge l'héritage.
@James, pouvez-vous m'envoyer la référence ?? – Siddiqui
@Arman: Bien sûr. Stack Overflow a [une liste de bons livres de débutant C++] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) et [une liste de bons livres de débutant C] (http://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list). N'importe lequel de ces livres pour débutants contiendrait cette information. –
@Arman - uhmmm .... vous devriez google pour ANSI C Standard + wg14 ... votre commentaire est sous-entendu sonne comme si vous ne croyez pas sa réponse et que vous êtes sceptique .... – t0mm13b
La seule différence entre struct
et class
est la visibilité par défaut des membres et le mode d'héritage par défaut. struct D : B { ...
est équivalent à class D : public B { public: ...
.
En C++ c'est-à-dire ... – Macke
Vous pouvez intégrer une structure dans un autre pour simuler l'héritage 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 */
Oui. Bien qu'il vous laisse avec la syntaxe maladroite «e.b.i» pour accéder aux membres «de base». Mais c'est juste une autre raison d'envelopper tout ceci comme un type opaque ... – dmckee
Ou, comme un pointeur sur une structure est aussi capable de pointer vers son premier membre, vous pouvez le lancer - 'basefunc ((base *) e) ' –
@Pete Kirkham, merci, j'ai ajouté cela à ma réponse avec un avertissement. –
- 1. Héritage de structure en C++
- 2. héritage Interface en C++
- 3. Héritage de structure dans MIDL
- 4. Héritage de formulaire en C#
- 5. héritage de modèle C++
- 6. Alignement de structure en C++
- 7. Déclaration de structure en C
- 8. Structure Generics en C#
- 9. Structure statique en C++
- 10. Structure problème en C
- 11. Comment faire pour convertir une structure C++ en structure C#
- 12. Multi-héritage de pointeur C++
- 13. C# et C++ héritage de classe entremêlement
- 14. Sérialiseur et héritage personnalisés en C#
- 15. Interface fluide et héritage en C++
- 16. Constructor surcharge problème en C++ Héritage
- 17. C++ Modèles et héritage
- 18. C++ héritage multiple
- 19. C++ héritage non reconnu
- 20. C++ Héritage/questions VTable
- 21. héritage dans l'objectif C
- 22. C# Generics Héritage
- 23. C# UserControl Héritage
- 24. Multithreading avec héritage (C++)
- 25. C# héritage d'interface
- 26. Héritage et fonction C++
- 27. C# héritage aide
- 28. C# héritage (débutant)
- 29. héritage C++ Question
- 30. C# héritage ToString
« Est-ce une voiture ou une couleur rouge? » - Oui. –