Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Objekt Programmierung » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (5): « erste ... « vorherige 3 4 [5] Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Objekt Programmierung
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Windows
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Soll ich einen lop davor << und dann ausgeben ?
19.10.2016 16:22
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Nein, Du sollst schauen, wie Du beim Überladen des Operators getter verwendet hast. Wenn Du nicht weißt was ein getter ist, dann google es bitte.



Gruß,

Karlito
19.10.2016 17:22 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Windows
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:

m_duration = lop.getDuration() + rop.getDuration();
	m_contentSize = lop.getContentsize()() + rop.getContentsize();



Funzt immer noch net verwirrt
19.10.2016 17:30
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich glaube das hat keinen Sinn. Wahrscheinlich ist es sinnvoller Du nimmst dir ein Buch und eine simplere Aufgabenstellung und wir klären hier Grundlagenfragen. Das hier läuft nur darauf hinaus, dass wir dir die Lösung zurechtbasteln, ohne dass Du es verstehst.

Wie auch schon euler sagte:
Zitat:
Original von eulerscheZahl
Es gibt da eine ziemlich große Lücke zwischen dem, was du kannst und dem, was du können sollst.


Gruß,

Karlito
19.10.2016 17:49 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Windows
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ja ich habe es ja probiert ,aber ich verstehe nicht so ganz wie ich den Fehler korriegieren kann smile
19.10.2016 17:59
Windows
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Einen kleinen Teil habe ich schon ipmlementiert :

const(CTitle operator+(const CTitle& duration,const CTitle&contentSize){
CTitle ret(duration);
ret+= contentSize;

return ret;
}

Bei += habe ich Probleme ?
20.10.2016 08:22
Windows
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Es ist auch in diesem Forum nicht gerade so ,dass man gerade von Fragen überschwemmt wird?

großes Grinsen
20.10.2016 13:23
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du machst einem das Helfen aber auch nicht gerade einfach. Du haust Syntaxfehler rein, die du eigentlich selbst erkennen solltest.

Hier z.B.:
code:
1:
m_contentSize = lop.getContentsize()() + rop.getContentsize();

Du schreibst bei getContentsize zwei Klammerpaare. Das ist einfach falsch. Ich weiß nicht, ob du das nicht besser kannst oder einfach unkonzentriert warst. Aber in beiden Fällen ist es problematisch - beim Programmieren muss eben jedes Zeichen richtig sein, damit das Programm funktioniert.
Deine Aufgabe ist Operatorüberladung (vom Schwierigkeitsgrad für Fortgeschrittene), aber du bringst immer wieder solche Anfängerfehler. Bei den Lücken in den Grundlagen sind solche Aufgaben eben schwierig.

Zu deiner letzten Frage:
ret+= contentSize;
du willst den + Operator überladen, da kannst du ihn nicht schon verwenden.

Und hier ist zwar nicht wirklich viel los, aber hauptsächlich werden die Fragen von Karlito und mir beantwortet. Wir haben eben auch noch andere Dinge zu tun.

__________________
Syntax Highlighting fürs Board (Link)
20.10.2016 13:33 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Windows
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Bei dem oberen Code war es ein Flüchtigkeitsfehler .


Aber na gut wenn niemand helfen möchte dann macht es auch keinen Sinn.
20.10.2016 13:41
WindowsisBack
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zu deiner letzten Frage:
ret+= contentSize;
du willst den + Operator überladen, da kannst du ihn nicht schon verwenden.

Meinst du das ich das noch im Header definieren muss?
20.10.2016 21:12
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Nein.
Du schreibst in deinem Programm "man rechnet Plus, indem man Plus rechnet".
Ich habe nicht ausprobiert, was passiert. Entweder macht der Compiler das nicht mit oder das Programm ruft operator+ immer wieder auf, bis der Stack überläuft und das Programm abstürzt.

__________________
Syntax Highlighting fürs Board (Link)
21.10.2016 06:11 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Windows
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Was kann ich machen um das Problem zu beseitigen ?

Ich will jetzt einfach nur noch die Aufgabe abschließen großes Grinsen
21.10.2016 08:44
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ungetestet, ich habe das jetzt einfach im Texteditor geschrieben:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
//warum nicht title1 und title2 als Namen? So finde ich das irreführend
const(CTitle operator+(const CTitle& duration,const CTitle& contentSize) {
	//wenn die Bitraten nicht übereinstimmen, wird linker Operand zurückgegeben
	if (duration.getBitRate() != contentSize.getBitRate()) return duration; //getBitRate musst du glaube ich noch implementieren
	
	//der Name ist <name1>, <name2>
	string newName = string(duration.getName()) + string(", ") + string(contentSize.getName());

	string newPerformer = duration.getPerformer();
	if (duration.getPerformer().compare(contentSize.getPerformer()) != 0) //strings sind verschieden
		newPerformer += string(", ") + string(contentSize.getPerformer());
	
	int length = duration.getDuration() + contentSize.getDuration();
	int size = duration.getContentsize() + contentSize.getContentsize();
	return new CTitle(size, length, newName, newPerformer, duration.getBitRate());
}

Du musst schon explizit angeben, welche Variable welchen Inhalt kriegen soll.

__________________
Syntax Highlighting fürs Board (Link)
21.10.2016 09:02 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Seiten (5): « erste ... « vorherige 3 4 [5] Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Objekt Programmierung