| View previous topic :: View next topic |
| Author |
Message |
Christian Buhtz Guest
|
Posted: Tue May 09, 2006 8:14 pm Post subject: eigene abstracte methode aufrufen? |
|
|
class A
{
public:
virtual void Abstract() = 0;
A ()
{
Abstract();
]
};
Ist es nicht möglich das eine Klasse ihre eigenen abstrakten Methoden
aufruft? Selbstverständlich implementiere ich diese Methoden später in
den davon erbenden Klassen.
Versteh nicht, warum das nicht gehen sollte!?
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de |
|
| Back to top |
|
 |
Stefan Reuther Guest
|
Posted: Fri May 12, 2006 6:21 pm Post subject: Re: eigene abstracte methode aufrufen? |
|
|
Christian Buhtz wrote:
| Quote: | Ist es nicht möglich das eine Klasse ihre eigenen abstrakten Methoden
aufruft? Selbstverständlich implementiere ich diese Methoden später in
den davon erbenden Klassen.
|
Du möchtest aus dem Konstruktor der Basisklasse die Methode der
abgeleiteten Klasse aufrufen?
Das ist in C++ nicht möglich. Während der Konstruktor deiner Klasse 'A'
läuft, ist das Objekt noch vom Typ 'A', nicht vom Typ der abgeleiteten
Klasse. Und auf einem Objekt einer abstrakten Klasse kannst du die
abstrakte Methode nicht aufrufen, sie existiert ja nicht.
Stefan
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de |
|
| Back to top |
|
 |
Thomas Maeder Guest
|
Posted: Fri May 12, 2006 6:21 pm Post subject: Re: eigene abstracte methode aufrufen? |
|
|
Christian Buhtz <yspam (AT) gmx (DOT) net> writes:
| Quote: | class A
{
public:
virtual void Abstract() = 0;
A ()
{
Abstract();
]
};
Ist es nicht möglich das eine Klasse ihre eigenen abstrakten
Methoden aufruft?
|
Doch. Nur nicht in einem Konstruktor oder im Destruktor; dort führt
ein solcher Aufruf zu undefiniertem Verhalten.
[In C++ sind das "pur virtuelle Memberfuntktionen" - kommst Du von
Java her?]
| Quote: | Selbstverständlich implementiere ich diese Methoden später in den
davon erbenden Klassen.
|
Egal. Siehe mein Post im anderen von Dir gerade eröffneten Thread; der
dynamische Typ des Objektes ist während der Abarbeitung des
A-Konstruktors A; es müsste also A::Abstract() aufgerufen werden.
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de |
|
| Back to top |
|
 |
Christian Buhtz Guest
|
Posted: Fri May 12, 2006 10:17 pm Post subject: Re: eigene abstracte methode aufrufen? |
|
|
:)
Ich dachte das hätte ich mal gelernt. Aber es war wohl doch mehr
gewünscht als gelernt. Sehr schade.
Wenn es um SW-Entwicklung geht wäre ich gerne 100 Jahre später geboren.
Aber das ist auch einer der Gründe, warum ich die Branche wieder
verlassen habe. Das sind so "mächtige" Maschinen, die wir aber nur auf
so peinlich primitive Weise nutzen können.
Das ist in etwa vergleichbar mit der Entdeckung des Feuers. So wie die
damals mit dem Feuer umgegangen sind, gehen wir heute mit Computern um.
So wird man auch mal über uns denken.
Sorry, das mußte jetzt sein...
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de |
|
| Back to top |
|
 |
|