Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Methode vor überschreiben schützen.

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
26.04.2007, 20:07 Uhr
halber



Ich komm einfach nicht mehr darauf und finde es auch nicht. Wie schütze ich nochmal eine Methode einer Klasse davor, von einer abgeleiteten Klasse überschrieben zu werden?
Und wenn wir schon bei dem Thema sind, gibt es eine Möglichkeit zu verhindern das von einer Klasse geerbt wird?

Danke!
--
Ich bin faul und mein Computer ist schnell!

Dieser Post wurde am 26.04.2007 um 20:38 Uhr von halber editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
26.04.2007, 20:25 Uhr
halber



Ach verdammtes Java. Hatte die ganze Zeit final im Kopf, aber das gibt es in C++ nicht.
Die Antwort auf meine zweite Frage

Zitat von halber:

Und wenn wir schon bei dem Thema sind, gibt es eine Möglichkeit zu verhindern das von einer Klasse geerbt wird?


habe ich gerade gefunden.
www.artima.com/forums/flat.jsp?forum=17&thread=115431
--
Ich bin faul und mein Computer ist schnell!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
26.04.2007, 20:31 Uhr
halber



Ich hätte oben auch besser überdeckt anstelle von überschreiben schreiben sollen. Also:
Wie schütze ich nochmal eine Methode einer Klasse davor, von einer abgeleiteten Klasse überdeckt zu werden?
Aber ich komme immer mehr zu der Ansicht das dies nicht geht.
--
Ich bin faul und mein Computer ist schnell!

Dieser Post wurde am 26.04.2007 um 20:40 Uhr von halber editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
26.04.2007, 20:31 Uhr
0xdeadbeef
Gott
(Operator)


Äh, fürs erste die Methode einfach nicht virtual deklarieren, und fürs zweite den Destruktor der Klasse nicht virtuell machen. Schwierig wirds natürlich, wenn die Klasse selbst schon von irgendwas erbt.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
26.04.2007, 20:34 Uhr
halber



Genau dieses Missverständnis war mir auch gerade aufgefallen. Ich hatte schlicht das falsch Word benutzt.
--
Ich bin faul und mein Computer ist schnell!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
27.04.2007, 08:15 Uhr
stephanw
localhorst


Wenn man eine Klasse vor weiterer Ableitung schützen will, könnte man sie auch einfach verbergen und anonym machen.

C++:
class Base { ... };


// Derived.h

Base* getBase();

// Derived.cpp

namespace
{
  class Derived { ... };
}

Base* getBase() { return new Derived; }


Das macht aber nur Sinn, wenn die Schnittstelle von Derived niemanden interessieren muss.
--
Reden ist Schweigen und Silber ist Gold.

Dieser Post wurde am 27.04.2007 um 08:17 Uhr von stephanw editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: