Objektorientierte Programmierung



  • Ich finde nicht explizit wie ich die Vererbung erstelle. Ich dachte mir ans Lösungsansatz wäre ein Pointer geeignet mit dem ich die Attribute in der Klasse Widerstand in der Klasse KomplexerWiderstand anbinde.



  • Cobain schrieb:

    Ich finde nicht explizit wie ich die Vererbung erstelle. Ich dachte mir ans Lösungsansatz wäre ein Pointer geeignet mit dem ich die Attribute in der Klasse Widerstand in der Klasse KomplexerWiderstand anbinde.

    C++ unterstützt Vererbung nativ. Da brauchst Du nix "anbinden".
    Du wirst doch in Deinen Unterlagen sicherlich Informationen dazu haben, wie Du in C++ von Klassen erbst?!



  • Furble Wurble schrieb:

    Du wirst doch in Deinen Unterlagen sicherlich Informationen dazu haben, wie Du in C++ von Klassen erbst?!

    Wenn Herr Cobain von Klassen erbt, statt Klassen zu haben, sollte er vielleicht https://www.c-plusplus.net/forum/75672-full lesen. 🤡



  • Ich habe vorhin nicht die komplette Aufgabe aufgeschrieben.
    Die komplette Aufgabenstellung lautet so:

    Erstellen Sie eine weitere Klasse "KomplexerWiderstand, die für die Darstellung eines komplexen Widerstands dienen soll, indem Sie sie von der o.a. Klasse Widerstand ableiten. Diese Klasse soll über ein zusätzliches Attribut "phi(double)" für die Angabe der Phasenverschiebung verfügen. Implentieren Sie drei Konstruktoren analog zur Aufgabe 2.1 (Aufgabe 2.1 habe ich bereits in der Fragestellung eingefügt) sowie eine set- und get-Methode. Darüber hinauserweitern Sie die Klasse KomplexerWiderstand um folgende Methoden:

    private[] umwandlInKart();
    Eine Methode, die für den komplexen Widerstand die Umwandlung der Polarkoordinaten in kartesische Koordninaten bereitstellt und ausschließlich zu klasseninternen Berechtigungen verwendet wird.

    public void output(char art_in);
    Eine Methode, die den Widerstandswert in Abhängigkeit von der ausgewählten Darstellungsart auf dem Bildschirm ausgibt.
    Für art_in = ´p´ = ´k´ erfolgt die Ausgabe in kartesischer Form und
    für art_in = ´p´ dementsprechend in Polarkoordinaten. Tritt keiner der beiden Fälle auf soll eine geeignete Fehlermeldung ausgegeben werden.

    public char*testReinesElement();
    Eine Methode, die überprüft, ob es sich beim angelegten komplexen Widerstand um einen rein ohmschen, induktiven oder kapazitiven Widerstand handelt oder ob doch ein Mischwiderstand vorliegt. Das Ergebnis der Prüfung wird in Textform zurückgegeben.



  • Das ist ja schoen und gut...Aber was genau bereitet Dir jetzt Schwierigkeiten? Die Syntax bei der Deklaration von KomplexerWiderstand ?



  • Genau das ist mein Problem. Könntest du mir da weiter helfen ?



  • Cobain schrieb:

    Genau das ist mein Problem. Könntest du mir da weiter helfen ?

    Klar kann ich Dir das hinschreiben.

    class Widerstand{
    public:
      virtual ~Widerstand() = default;
      ...
    };
    
    class KomplexerWiderstand : public Widerstand {
      ...
    };
    

    Aber ich kann mir nicht vorstellen, dass Du eine Aufgabe zur Vererbung bekommst, ohne dass mal über die Syntax der Vererbung gesprochen wurde!?



  • kannst du mir mal privat schreiben



  • Cobain schrieb:

    kannst du mir mal privat schreiben

    Ich fühle mich geehrt, dass Du denkst ich könnte Dir da helfen.
    Leider bin ich kein Mitglied hier und noch viel schwerwiegender: Ich glaube nicht, dass Private Nachrichten/emails/Skype etc. pp. das Studium Deiner Unterlagen ersetzen.
    Wenn Du keine Unterlagen hast: besorg Dir welche. Für heute abend nutzt es vielleicht das hier zu lesen, um die Aufgabe zu lösen (Abschnitte 8 Mehrfachvererbung und 9 virtuelle Vererbung sind erstmal unwichtig).

    Viel Erfolg.



  • nein ersetzt sollte nichts werden ich brauchte nur Hilfe bei den zwei letzten Methoden. Die zweite Klasse und das befüllen war kein Problem aber trotzdem danke für deine "Hilfe".


Anmelden zum Antworten