Hallo Leute, Ich beschäftige mich zur Zeit etwas mit c++ programmierung und habe folgendes Problem. Ich möchte eine C++ Klasse ableiten und eine Methode aus dieser überschreiben. Die überschriebene Methode soll etwas Arbeit ausführen und danach die Methode der Basisklasse aufrufen. Eigentlich eine ganz simple Sache, aber meine C++ Kenntnisse sind total verschüttet. Vielleicht könnt ihr mir helfen. Das ist mein Testprogram. Mein Problem: Die Methode der abgeleiteten Klasse ruft rekursiv immer sich selbst auf. Ich bekomme das nicht richtig hin, bin jetzt schon 2 Stunden am frickeln. #include "stdafx.h" using namespace System; // Basisklasse ref class A { private: array<float>^ A_Data; public: A(){}; virtual void SetData(array<float>^ in) { Console::WriteLine("Basisklasse"); A_Data = gcnew array<float>(in->Length ); in->CopyTo(A_Data,0); } }; // Abgeleitete Klasse ref class A_Ext : A { public: virtual void SetData (array<float>^ in) override { // dieser Aufruf soll die Methode der Basisklasse aufrufen // ruft aber ständig sich selbst auf Console::WriteLine("Abgeleitete Klasse"); SetData (in); } }; int main(array<System::String ^> ^args) { Console::WriteLine(L"Hello World"); A_Ext^ a = gcnew A_Ext(); array<float>^ f = gcnew array<float>(100); a->SetData (f); return 0; } Vielen Dank für eure Mühe !
Hi in klassischem C++ würde das so aussehen: A::SetData(in); Wie das aber in C++ für .net verhält das du offensichtlich verwendest kann ich dir nicht sagen. Matthias
Das ging aber schnell. Mit managed Code funktioniert das genauso. Vielen Dank.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.