Objektorientierte Programmierung
-
Hay Leute ich hab ein kleines Problem zu einer Aufgabenstellung in der es um Vererbung geht. Die Programmierung basiert auf den Bereich Elektrotechnik. Ich habe meine "Basis" bereits erstellt und sie läuft auch aber nun muss ich sie erweitern und komme nicht weiter. Würde mich echt sehr freuen wenn Ihr mir dabei helfen könntet.
Ich muss eine weitere Klasse "KomplexerWiderstand" die für die Darstellung eines Komplexen Widerstands dienen soll, indem Sie von der von mir bereits erstellten Klasse Widerstand abgeleitet werden soll. Außerdem soll diese Klasse über das zusätzliche Attribut "phi(double)" für die Angabe der Phasenverschiebung verfügen.
Mein bereits erstellter Ansatz ist:
#include <iostream> #include <math.h> using namespace std; }~Edit, Arcoth: Code-Tags~
-
Eigentlich ist die Aufgabe klar und mit wenig suchen selbst lösbar. Du definierst halt einfach deine Klasse "KomplexerWiderstand" beerbst sie von Wiederstand und fügst die zusätzliche Methode / Eigenschaft "phi" an. Wie du das machst findest du überall im Netz und sicher auch hier im Forum.
Bzw. was hast du denn bereits probiert und wo hakt es?
-
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".