OOP

Diskussionen rund um Themen und Veranstaltungen des 5. Bachelor-Semesters

Moderator: (M) Mod.-Team Allgemein

Antworten
sams
TalkING. Newbie
TalkING. Newbie
Beiträge: 14
Registriert: Mo, 23. Jul. 12, 23:26

OOP

Beitrag von sams » Di, 04. Sep. 12, 22:51

Hi, ich habe eine Frage zu dem Skript von der Vorlesug OOP.


1 //ccomplex.cpp
2 double CComplex::re()
3 {
4 return m_re;
5 }
6 double CComplex::im()
7 {
8 return m_im;
9 }
10 void CComplex::add(const CComplex& z)
11 {
12 m_re += z.re();
13 m_im += z.im();
14 }
15 void CComplex::print()
16 {
17 cout << m_re <<"+"<< m_im <<"j"<< endl;
18 }


Wie kann man Zeile 10-14 verstehen? Warum wird hier eine Referenz verwendet?


Wie kann man sich eine Selbstreferenz vorstellen?
z.add(z1).add(z2)

1 CComplex& CComplex::add(const CComplex& zn)
2 {
3 m_re += zn.re();
4 m_im += zn.im();
5 return *this;
6 }

Wie können hier Zahlen addiert werden? sind z1 und z2 Platzhalter für Zahlen?

Ich würde mich über eine schnelle Antwort wirklich sehr freuen :-D
Gruß

Formelsammler
TalkING. Superposter
TalkING. Superposter
Beiträge: 297
Registriert: Mi, 17. Feb. 10, 15:55

Re: OOP

Beitrag von Formelsammler » Di, 04. Sep. 12, 23:42

blub9 hat geschrieben: Wie kann man Zeile 10-14 verstehen? Warum wird hier eine Referenz verwendet?
Dies ist eine Funktion, die zum eigenen komplexen Wert den Wert einer anderen komplexen Zahl addiert, meinst du dies? Realteil + Realteil, Im + Im.

Warum eine Referenz? Speicherplatzersparnis. Funktioniert auch ohne.
blub9 hat geschrieben: Wie kann man sich eine Selbstreferenz vorstellen?
z.add(z1).add(z2)

1 CComplex& CComplex::add(const CComplex& zn)
2 {
3 m_re += zn.re();
4 m_im += zn.im();
5 return *this;
6 }
Dies tut dasselbe und gibt sich selbst als komplexe Zahl (CComplex-Objekt) zurück.
blub9 hat geschrieben: sind z1 und z2 Platzhalter für Zahlen?
Jein, für Zahlen repräsentiert durch CComplex-Klasse. Also nicht für 5,3,2 usw. sondern für Objekte der Klasse CComplex.

sams
TalkING. Newbie
TalkING. Newbie
Beiträge: 14
Registriert: Mo, 23. Jul. 12, 23:26

Beitrag von sams » Mi, 05. Sep. 12, 08:35

Danke für die schnelle Antwort!

Antworten