Vereebung
-
-
Tatsache hab wohl rumprobiert und das Public nicht wieder reingeschrieben. Danke!
Wollte noch was fragen bei der Ausgabe fällt mir auf, dass wohl immer wenn ein Erbendes Objekt erstellt wird, auch ein Objekt der vererben den Klasse erstellt wird. Wie wird das in professionellen Projekten gehandhabt ich meine das geht doch voll auf den Speicher. Wird dann aus dem Erbenden Objekt mit ach und Krach noch was gemacht oder einfach gelassen?
-
auch ein Objekt der vererben den Klasse erstellt wird
Nein! Es wird ein Objekt erzeugt. Wie kommst du darauf.
-
Der Code erstellt zwei Objekte aber die Ausgabe sagt
Auto wurde erstellt
Auto wurde erstellt
Porsche..
Also zwei Mal auto(cruiser)
-
Porsche ist ein Auto und auch der Auto-Teil muss konstruiert werden.
-
@ycbm Ein Porsche ist ein Auto oder anders ausgedrückt, ein Porscheobjekt besteht aus einem Autoobjekt plus den Porscheteilen. Du solltest das noch mal in deinem Lernmaterial nachlesen.
-
@ycbm Du musst unterscheiden zwischen vollständigen "object" und einem "subobject".
Wenn du einen Porsche baust, gibt es nur ein vollständiges "object", nämlich den Porsche. Und kein davon unabhängiges Auto.Ein integraler Bestandteil des Porsche ist aber ein "subobject" vom Typ Auto. Dieses ist in einem untrennbaren Verbund mit dem Porsche, der Porsche und das "in" ihm enthaltene Auto sind ein "object".
-
Ok eine noch. )
Bei
class bla Abstract { Public: Void bla () = 0 {}
Wird die Klasse doch zwei mal unnötig Abstract gemacht oder?
Einmal mit dem Wort Abstract (dass man eigentlich nur bei .net verwendet)
Und einmal das = 0;Beide Sachen sorgen doch dafür, dass man kein Objekt dieser Klassen erstellen kann?
-
dass man eigentlich nur bei .net verwendet
Keine Ahnung. Oben steht C++ (alle ISO-Standards)
-
Dein Code ist kein gültiges C++.
class Porsche auto;
wäre möglich, nur dass das dasselbe wäre wir
Porsche auto;
, also eine Variable vom Typ Porsche namens auto.Mit
class bla Abstract { };
erzeugst (und initialisierst) du eine Variable "Abstract" vom Typ "bla".Public mit großem P und Void mit V sind auch keine C++-Schlüsselwörter. (Abstract, egal ob mit A oder a, auch nicht)
-
@ycbm Du musst das alles ein wenig genauer machen.
public
undvoid
sind in C++ Keywords,Public
undVoid
nicht.
Ebenso gibt es kein KeywordAbstract
. Aber in dem Fall ist auch die klein geschriebene Varianteabstract
kein Keyword.
Weiters kann man eine "virtual pure" Funktion zwar durchaus implementieren, aber nicht innerhalb der Klassendefinition. Das muss, warum auch immer, ausserhalb der Klassendefinition passieren.D.h. dein Code ist voll von Fehlern und Quatsch.
Woher sollen wir nun wissen was du meinst? Und wenn wir nicht wissen können was du meinst, wie sollen wir dann die Frage beantworten wieso man etwas in C++ angeblich macht was voll mit Fehler ist, also definitiv keiner machen kann?