[gelöst]klasse mit abstrakter methode

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
redbulls
Beiträge: 59
Registriert: 27. März 2011 15:20

[gelöst]klasse mit abstrakter methode

Beitrag von redbulls »

Hallo

In meiner Klassenhierarchie gibt es eine Vaterklasse und zwei Kindklassen. Die Vaterklasse ist eine vollständige Klasse mit Eigenschaften und
implementierten Methoden. Es soll aber auch abstrakte Methoden geben, die in der Vaterklasse nicht implementiert werden, sonder in den Kindklassen.
Gibt es da eine Möglichkein nur eine abstrakte Methode in der Vaterklasse deklarieren. Die Methode soll auch virtual sein, damit ein Vaterpionter die Methode der richtigen
Kindklasse ausführt...

danke
Zuletzt geändert von redbulls am 23. November 2011 14:19, insgesamt 1-mal geändert.
sehr interessiert an Qt
brax
Beiträge: 208
Registriert: 11. Mai 2010 11:22

Re: klasse mit abstrakter methode

Beitrag von brax »

Verstehe ich Dich richtig, dass Du eine vollständig virtuelle Methode haben möchtest? Wenn ja, dann wird diese in C++ so deklariert:

Code: Alles auswählen

virtual void myPureVirtualMethod() = 0;
Dadurch wird die Klasse auch virtuell, d.h. Du wirst keine Objekte dieser Klasse anlegen können. Abgeleitete Klassen, die diese Methode nicht implementieren, sind dann automatisch auch virtuell.
archer
Beiträge: 306
Registriert: 2. Februar 2006 09:56

Re: klasse mit abstrakter methode

Beitrag von archer »

Einfach die Deklaration der Methode auf 0 setzen

Code: Alles auswählen

virtual void myMethod() = 0;
redbulls
Beiträge: 59
Registriert: 27. März 2011 15:20

Re: klasse mit abstrakter methode

Beitrag von redbulls »

Ok, danke für die Antworten!

Wenn ich dann eine abstrakte Vaterklasse habe, kann diese Vaterklasse dann trotzdem Methoden implementiert haben, die die Kinder erben?
Und kann ein Vaterpointer ein auf ein Kind referenzieren? :

Code: Alles auswählen

Vaterklasse* vaterklasse = new Kindklasse();
sehr interessiert an Qt
brax
Beiträge: 208
Registriert: 11. Mai 2010 11:22

Re: klasse mit abstrakter methode

Beitrag von brax »

Ja, Deine Vaterklasse ist - abgesehen davon, dass Du keine Instanz davon erzeugen kannst - eine ganz normale Klasse. Sie kann Methoden beinhalten (virtuell und nicht virtuell), polymorphe Aufrufe etc.
redbulls
Beiträge: 59
Registriert: 27. März 2011 15:20

Re: klasse mit abstrakter methode

Beitrag von redbulls »

sehr gut, danke
sehr interessiert an Qt
Antworten