1

C++ baeren programmieren (kleiner Fehler aber wo???)

Frage von Siggi86 Siggi86

Hallo Leute. soll ein Programm erstellen, dass so wie es ist, auch so sein muss. Nur ab der int main..... Anwendung ist ein Fehler beim if else zweig. Könnt ihr mir da helfen?

Vielen Dank schon mal im voraus.

include "stdafx.h"

using namespace System;

// die Klasse baer ref class baer { // beide Attribute müssen jetzt als protected vereinbart werden protected: Int32 gewicht; Int32 alter;

public: // der Konstruktor baer(Int32, Int32); Int32 getGewicht(); Int32 getAlter(); // die Methode zur Ausgabe Void ausgeben(); }; ref class elternBaer : baer { Int32 anzahlKinder;

public: // der Konstruktor elternBaer (Int32, Int32, Int32); Int32 getAnzahlKinder(); Void schock(); // die überschriebene Methode zur Ausgabe Void ausgeben(); };

// die Methoden für die Klasse baer // der Konstruktor baer::baer(Int32 tGewicht, Int32 tAlter) { gewicht = tGewicht; alter = tAlter; } // die Methode liefert das Gewicht zurück Int32 baer::getGewicht() { return gewicht; } // die Methode liefert das Alter zurück Int32 baer::getAlter() { return alter; } // die Ausgabemethode Void baer::ausgeben() { Console::WriteLine("Die Ausgabe erfolgt aus der Klasse {0}.", GetType()); Console::WriteLine("Der Bär ist {0} Jahre alt und wiegt {1} Kilo.",alter,gewicht); }

// die Methoden für die Klasse elternBaer // der Konstruktor elternBaer::elternBaer(Int32 tGewicht, Int32 tAlter, Int32 tKinder): baer(tGewicht, tAlter) { anzahlKinder = tKinder; } Int32 elternBaer::getAnzahlKinder() { return anzahlKinder; } // die Eltern erleiden einen Schock Void elternBaer::schock() { gewicht--; } // die überschriebene Methode zur Ausgabe Void elternBaer::ausgeben() { Console::WriteLine("Die Ausgabe erfolgt aus der Klasse {0}.", GetType()); Console::WriteLine("Der Bär ist {0} Jahre alt, wiegt {1} Kilo und hat {2} Kinder.",alter, gewicht, anzahlKinder); }

int main(array ^args)

{ array <baer^> ^baerenliste = { gcnew baer(200,20), gcnew elternBaer(150,10,2) }; for each(baer ^baer in baerenliste) { if (elternBaer::baer != nullptr) ((elternBaer^)baer)->ausgeben(); } else { baer->ausgeben(); } return 0; }

Fragen zu gleichen Themen finden

Antworten (2)

  • 0
    Antwort von kristallvogel kristallvogel

    Kleine Bitte: wenn dir bekannt ist, dass ein Fehler ab dem IF / ELSE besteht, dann müsste dir ja auch bekannt sein WAS für ein Fehler bemängelt wird?

  • 0
    Antwort von fromhell fromhell

    Poste den Code doch bitte ohne die Kommentare oder stell ihn als PDF / jpg hier rein. Aus dem Durcheinander wird man leider nicht schlau.

Diese Frage

Verwandte Fragen

Noch nicht den richtigen Rat gefunden?

Einfach und schnell viele hilfreiche Ratschläge von Deutschlands aktivster Ratgeber-Community erhalten!

Einfach und schnell einen Tipp erstellen und Ihren guten Rat mit anderen teilen!

Einfach und schnell ein Video hochladen und anschaulichen Rat an alle geben!

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.