Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

11

07.07.2008, 08:54

Zitat von »"GR-PA"«


Dann darf ich jetzt wohl ~500 Zeilen Code umstrukturieren

(Link)


Ha! Sei doch froh, das passiert dir sicher nicht nochmal! :p
@D13_Dreinig

GR-PA

Treue Seele

  • »GR-PA« ist der Autor dieses Themas

Beiträge: 326

Wohnort: Daheim

Beruf: Faulenzer

  • Private Nachricht senden

12

07.07.2008, 09:13

Puh! Ich wollte mich gerade an die Arbeit machen den Code abzuändern, da hab ich festgestellt, dass ich nur 2 Funktionsaufrufe kopieren und einen hinzufügen muss und schon läuft das ganze. :)
Signaturen werden überbewertet

13

07.07.2008, 10:16

Zitat

Ist es möglich, eine virtuelle Funktion, die in einer abgeleiteten Klasse definiert wurde in der Basisklasse aufzurufen

Nein. Widerspricht auch so einigen Programmierparadigmen.

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

14

07.07.2008, 12:29

Zitat von »"knivil"«

Zitat

Ist es möglich, eine virtuelle Funktion, die in einer abgeleiteten Klasse definiert wurde in der Basisklasse aufzurufen

Nein. Widerspricht auch so einigen Programmierparadigmen.

Wenn sie in der Basisklasse deklariert wurde ist das kein Problem ;)

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

15

07.07.2008, 12:52

Zitat von »"xardias"«

Zitat von »"knivil"«

Zitat

Ist es möglich, eine virtuelle Funktion, die in einer abgeleiteten Klasse definiert wurde in der Basisklasse aufzurufen

Nein. Widerspricht auch so einigen Programmierparadigmen.

Wenn sie in der Basisklasse deklariert wurde ist das kein Problem ;)


Achja? Du willst aus der Basisklasse heraus eine überladene Funktion einer speziallisierten Instanz aufrufen? Wie das?
@D13_Dreinig

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

16

07.07.2008, 15:24

ich denk wir haben da ein kleines terminologieproblem...

vielleicht sollte mal jeder erklären was er genau mit

Zitat


[...] eine virtuelle Funktion, die in einer abgeleiteten Klasse definiert wurde in der Basisklasse aufzurufen


bzw.

Zitat

[...] aus der Basisklasse heraus eine überladene Funktion einer speziallisierten Instanz aufrufen?


meint...

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

17

07.07.2008, 17:46

denke ich auch.
Was ich meinte:
Wenn in der Basisklasse eine Methoden als virtuell deklariert, aber nicht definiert wurde (also rein virtuell deklariert, bzw "mit 0 definiert") kann man diese in einer abgeleiteten Klasse implementieren und in anderen Methoden der Basisklasse aufrufen.

Also das übliche Konzept von Abstrakten Klassen. Von überladenen Funktionen war doch eigentlich nie die Rede.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

18

07.07.2008, 17:51

Ha... erwischt, ich meinte natürlich überschrieben. :) Naja, wenn die Methode rein virtuell ist, gibt es ja keine Chance selbige mit einer Instanz der Basisklasse aufzurufen (es kann ja garnicht so eine Instanz geben).

Ich hatte dich eher so verstanden als das du von einer Klasse direkt eine Methode einer Abgeleiteten Klasse aufrufen willst. Also im Grunde etwas wie:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct foo
{
  virtual void func1() 
  {
     
  }

  void func2()
  {
    bar::func1(); // achtung unsinn! :)

  }
};

struct bar : foo
{
  void func1()
  {
  }
};


Das macht dann ja weder Sinn noch ist es (gottseidank) möglich.
@D13_Dreinig

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

19

07.07.2008, 17:57

Wie dot schon sagte.. kleines Terminologieproblem :D

PS: gut, dass das nicht möglich ist. Also das mit dem Querdenken hat man ja irgendwann raus, aber wenn DAS möglich wäre würden sich meine Gedanken glaube ich verknoten auf dauer ;)
Ich stelle mir da nur die passenden Diagramme zu solchen Klassen"hierachien" vor..

Werbeanzeige