Gast
#386753
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 !