Kann ich eine Struktur in C ++ zerstören?
Gibt es eine Möglichkeit zu zerstören, eine Struktur (nicht eine Klasse)?
Kommentar zu dem Problem
Frage, was ist das größere Bild? Sie in der Regel entweder überhaupt nicht (es ist eine automatische variable) oder rufen Sie die
delete
auf (es ist dynamisch zugeteilt. Besser nicht zu tun haben, ausdrücklich.) In jedem anderen Fall, Strukturen sind Klassen. InformationsquelleAutor der Frage Ramilol | 2010-08-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
In C++ eine
struct
ist genau das gleiche wie einclass
mit Ausnahme der default-Sichtbarkeit auf Mitglieder und Basen. Also, wenn es einen Weg gibt, Sie zu "zerstören" einer Klasse, die Sie verwenden können, die gleiche Art und Weise zu "zerstören" einer Struktur.Also, wenn Sie einen
struct s { }
im C++ - Programm, das Sie dies tun können:InformationsquelleAutor der Antwort Pablo Santa Cruz
Außer für die Standard-access-specifier ("private" für die Klasse "public" für struct), alles andere ist das gleiche in C++ class und struct. Also, JA, Sie kann schreiben und verwenden Destruktoren in struct in der gleichen Weise getan in der Klasse.
InformationsquelleAutor der Antwort Arun
Strukturen sind identisch zu Klassen, außer die Standard-Sichtbarkeit und Vererbung sind öffentlich (statt privat).
So können Sie erstellen und zerstören von Strukturen wie diese (das gleiche wie eine Klasse, oder eingebaut in Typ):
InformationsquelleAutor der Antwort Mark Ingram
Structs und Klassen sind ein und dasselbe, es ist nur ein technischer Unterschied (der Standard Bereich Zugang), das passiert durch einen konzeptuellen Unterschied zwischen den beiden. Aber jeder struct wie eine Klasse rufen die Konstruktoren, wenn die Objekte erstellt werden, und der Destruktor, wenn seine Sichtbarkeit Feld endet.
In C++ - Strukturen sind nicht weniger leistungsfähig als Klassen.
InformationsquelleAutor der Antwort Charlie