Interessensfrage Klassen

MadJoe

MadJoe

Eroberer
Hi!

Mir ist da letztens etwas durch den Kopf geschossen. Nachdem ich eine Klasse ohne Member-Variablen gemacht hatte, ist mir aufgefallen, dass die Klasse trotzdem ein Byte groß ist, womit ja meine eigentliche Frage, der Adressierbarkeit gelöst ist. Nun ist dieses Byte eben nur dafür gut, und steht da weiter nichts brauchbares drin in dem Byte?

mfg joe
 
Was willst du denn alles noch an informationen in einem Byte unterbringen ??

Das Byte symbolisiert schon deine leere Klasse , das reicht doch schonmal für den Anfang , findest du nicht ?

Nebenbei hat nicht deine Klasse eine größe von einem Byte sondern das Objekt der leeren Klasse dass du erstellt hast. Das kann ja nicht größe Null haben sonst könntest du es ja nicht addressieren.

Dein Eines Byte ist lediglich die adresse auf die ein Zeiger Referenzieren könnte, also das Startbyte des Objektes der Klasse.
 
sono schrieb:
Nebenbei hat nicht deine Klasse eine größe von einem Byte sondern das Objekt der leeren Klasse dass du erstellt hast.

Schon klar, ich hab mich wieder einmal etwas unpräzise ausgedrückt. Auch wenn es nicht viel Sinn machen mag, eine leere Klasse zu instanzieren, ich brauch das Ding eh nur um es abzuleiten.

Danke auf jeden Fall...

Achja, und ich hoffe dieses Aushilfsbyte verschwindet beim Ableiten dann?! Denn ich möchte mir ein kleines Serialisierungssystem bastln und dazu interessiert mich dieses eine Byte dann nicht wirklich, sondern die Größe des tatsächlichen Inhalts.
 
Du willst ne leere Klasse sinnvoll ableiten ??

Kannst du mir mal erklären wann man sowas benötigt ?
Kann das jetzt nicht nachvollziehen wann man sowas macht und wozu.

Ableiten ist doch das einbinden in ein Unterklasse um die Basisklasse zu erweitern . Am ende hast du dann deine Publicteile in der Unterklasse.

Und was hast du dann wenn die Basisklasse leer ist ?
 
Das kann durchaus sinnvoll sein. Da es ja in C++ noch keine Interfaces gibt, wird mir eine Basisklasse als Interface dienen. Das was die im Prinzip leere Klasse enthält wird eine virtuelle Funktion sein, welche ich dann in der neuen Klasse implementiere, um zu beschreiben, wie der Inhalt dieser Klasse nun tatsächlich aussieht.

Castet man nun alle Zeiger von abgeleiteten Typen in den Basisklassenzeiger, so kann man die virtuelle Funktion aufrufen und bekommt die Inhaltsbeschreibung. Diese verwende ich dann, um auf "Zeigermember" der abgeleiteten Klasse entsprechend reagieren zu können. Der Rest wird einfach, mittels einem void Zeiger auf den Speicher, in ein File geschrieben. Und schon hab ich meinen kleinen Serializer!

Ich kann die Ergebnisse gern posten, wenn ich den ersten Prototypen fertiggeschrieben habe.

Nun mögen vielleicht manche sagen, sowas gibts schon, stimmt, möchte trotzdem mal selbst einen Serializer bauen, wenn auch nur aus Interesse.
 

Ähnliche Themen

Linux "vergisst" Dateisystem?

mysteriöse 8GB HDD

Verschiedene Programmausgaben bzgl. Dateisystem?

Problem mit Apache2 + MySQL Server

Server's Power

Zurück
Oben