Czy dziedziczenie w C++ może być odziedziczone po ?Dziedziczenie struktur w C++
Odpowiedz
Tak, struct
jest dokładnie jak class
z wyjątkiem domyślny dostępność jest public
dla struct
(gdy to private
dla class
).
Oczywiście. W C++, struktury i klasy są prawie identyczne (takie rzeczy jak domyślne publiczne zamiast prywatne należą do małych różnic).
Tak. Dziedziczenie jest domyślnie publiczne.
Składnia (przykład):
struct A { };
struct B : A { };
struct C : B { };
Inne niż to, co Alex i Evan już wspomniano, chciałbym dodać, że struct C++ nie jest jak C struct.
W C++, struktura może mieć metody, dziedziczenie itp., Podobnie jak klasa C++.
Struktura C++ może być jak struktura C. Kiedy jest, nazywa się POD - Plain Old Datatype. Jest to ważne rozróżnienie, ponieważ na przykład tylko struktury POD mogą być częścią związków. – camh
Ale POD mogą mieć metody, więc nie są "podobnymi" strukturami C w znaczeniu, o którym mówi cgorshing. –
W C++ dziedziczenie struktura jest taka sama, jak w klasie, z wyjątkiem następujących różnic:
Podczas wyprowadzania struct z klasy/struct, domyślnie dostępu specifier dla klasy bazowej/struct jest publiczna. Podczas wyprowadzania klasy domyślny specyfikator dostępu jest prywatny.
Na przykład program 1 kończy się błędem kompilacji, a program 2 działa poprawnie.
// 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;
}
- 1. Tablica struktur w C
- 2. Tworzenie tablicy struktur w C++
- 3. Konstruktory dla struktur w C++
- 4. Tworzenie struktur C w Cython
- 5. Dziedziczenie dziedziczenia w C#
- 6. Interfejs Dziedziczenie w C++
- 7. Dziedziczenie przyjaźni w C++?
- 8. C# dziedziczenie
- 9. c wskaźnik do tablicy struktur
- 10. Dziedziczenie generyczne w języku C#?
- 11. Dziedziczenie obsługi zdarzeń w C#
- 12. Destruktory i dziedziczenie w C++?
- 13. Dziedziczenie C++ Struct w Cython
- 14. Automatyczne drukowanie struktur i zmiennych w C
- 15. Rozmiar struktur z funkcjami w C++
- 16. Dziedziczenie z szablonu C++
- 17. C# wielokrotne dziedziczenie
- 18. C#: dziedziczenie konstruktorów
- 19. C#: Dziedziczenie przechodnie
- 20. Selektywne dziedziczenie C++
- 21. dziedziczenie szablonów C++
- 22. C# Dziedziczenie wielokrotne
- 23. Rozmiar struktur w .NET
- 24. C# - zaawansowane dziedziczenie
- 25. C# dziedziczenie bazy
- 26. Wyjaśnienie użycia struktur z Arduino i przechowywanie struktur w PROGMIE
- 27. Definiowanie funkcji drukowania gdb dla struktur C
- 28. tablica struktur na wejściu c-user
- 29. Operacje atomowe C++ dla struktur bez blokady
- 30. C++ klasy i dziedziczenie szablonów
To powinna być zaakceptowana odpowiedź. – QuantumKarl