Hauptmethode
-
Hallo,
bin gerade dabei mich mit C++ anzufreunden.
Ich habe viel gelesen, und heute wollte ich mal mit Aufgaben anfangen.
Tja, nun ist es doch nicht so einfach, wie es in den Büchern geschrieben steht. Also theoretisch habe ich so einiges drauf, denke ich, aber wenn es darum geht Aufgaben zu lösen bzw. etwas darzustellen....Naja, auf jeden Fall hat sich bei mir die Frage ergeben:
Wie sieht eine Hauptmethode aus, in der ich ein Objekt einer Klasse A mit einem Objekt einer Unterklasse B von A erzeuge????Gruß
-
red mal deutsch
Was willst du machen?
Du hast
KlasseA und hast KlasseB und dann noch von KlasseB eine geerbte?
also
KlassA, KlassB, KlassB_unterklasseB
oder meinst du unterklasse von A. was ist B?
Was meinst du mit Hauptmethode um objekte zu erzeugen?
KlassA a;
KlassB b;
KlassB_unterklasseB bb;oder meinst du vererbung
also solche fragenstellungen sind echt
-
Ich glaube es gibt nur eine Klasse A und eine Unterklasse B. Er will offenbar mit Hilfe einer Instanz der Unterklasse eine Instanz der Oberklasse erstellen. Das ist so einfach nicht möglich, da musst du dir selbst etwas schreiben.
Was natürlich möglich ist, ist ein Up-Cast:
B blubb; A* tut_so_als_waers_a = &blubb;
MfG SideWinder
-
Es gibt dieses brillante Programm "cdecl" von Dennis Ritchie, dass komplexe
C-Vereinbarungen in englisch übersetzt und umgekehrt. So etwas wäre jetzt
nicht verkehrt!
-
sorry
also noch mal
ich habe:
class A{};
und class B :public A{
//hier kommt eine Hauptmethode, in der ein Objekt der Klasse A mit einem Objekt der Unterklasse (hier :B) erzeugt
};
-
da gibts mehrere möglichkeiten operatorenüberladung oder einfach
eine "hauptmethode" selbst implementieren.
z.b.
class B :public A{ ... ... bool Copy( A &a); // hier musst du von hand die membervariablen "übergeben" //in der main.cpp ( z.b. ) dann A a; a.setblabla(2); .. ... ... B mein_b; // default konstuktur, alle variablen "leer" mein_b(a); //mein_b hat alle membervariablen vom objekt a
ein
b = a; // gibt es nicht, ausser du schreibst deinen eigenen copykonstruktur ( auch von hand )
-
sorry
sollNICHT
mein_b(a); // geht auch beim entsprechenden konstuktor
aber mit der hauptmethode sieht es so natürlich aus
mein_b.Copy(a);
-
dankeschön
das wars auch schon