Est-ce qu'un struct
être hérité en C++ ?
Réponses
Trop de publicités?
Alex Martelli
Points
330805
Suvesh Pratapa
Points
3735
Chad Gorshing
Points
999
Neha Agrawal
Points
331
En C++, l'héritage d'une structure est le même que celui d'une classe, à l'exception des différences suivantes :
Lorsqu'on dérive une structure d'une classe/structure, le spécificateur d'accès par défaut pour une classe/structure de base est public. Et lorsque l'on dérive une classe, le spécificateur d'accès par défaut est private.
Par exemple, le programme 1 échoue avec une erreur de compilation et le programme 2 fonctionne bien.
// Program 1
#include <stdio.h>
class Base {
public:
int x;
};
class Derived : Base { }; // Is equivalent to class Derived : private Base {}
int main()
{
Derived d;
d.x = 20; // Compiler error because inheritance is private
getchar();
return 0;
}
// Program 2
#include <stdio.h>
struct Base {
public:
int x;
};
struct Derived : Base { }; // Is equivalent to struct Derived : public Base {}
int main()
{
Derived d;
d.x = 20; // Works fine because inheritance is public
getchar();
return 0;
}
Evan Teran
Points
42370
- Réponses précédentes
- Plus de réponses