c++ Klassen-Methoden überschreiben

Gast #386753
Lesenswert?
• ▲
▼
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 !

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.