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
Gruß
OOP
Moderator: (M) Mod.-Team Allgemein
-
- TalkING. Superposter
- Beiträge: 297
- Registriert: Mi, 17. Feb. 10, 15:55
Re: OOP
Dies ist eine Funktion, die zum eigenen komplexen Wert den Wert einer anderen komplexen Zahl addiert, meinst du dies? Realteil + Realteil, Im + Im.blub9 hat geschrieben: Wie kann man Zeile 10-14 verstehen? Warum wird hier eine Referenz verwendet?
Warum eine Referenz? Speicherplatzersparnis. Funktioniert auch ohne.
Dies tut dasselbe und gibt sich selbst als komplexe Zahl (CComplex-Objekt) zurück.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 }
Jein, für Zahlen repräsentiert durch CComplex-Klasse. Also nicht für 5,3,2 usw. sondern für Objekte der Klasse CComplex.blub9 hat geschrieben: sind z1 und z2 Platzhalter für Zahlen?