C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

eigene abstracte methode aufrufen?

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
Christian Buhtz
Guest





PostPosted: Tue May 09, 2006 8:14 pm    Post subject: eigene abstracte methode aufrufen? Reply with quote



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





PostPosted: Fri May 12, 2006 6:21 pm    Post subject: Re: eigene abstracte methode aufrufen? Reply with quote



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





PostPosted: Fri May 12, 2006 6:21 pm    Post subject: Re: eigene abstracte methode aufrufen? Reply with quote



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





PostPosted: Fri May 12, 2006 10:17 pm    Post subject: Re: eigene abstracte methode aufrufen? Reply with quote

:)

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
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.