Skip to content

Commit 82d294b

Browse files
committed
Diesmal noch mit dem Zuweisungsoperator
1 parent 5a13307 commit 82d294b

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

FractionDemo/src/CFraction.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,20 @@ CFraction::CFraction(const CFraction &fraction) {
4242
clog << "Num: " << *mp_numerator << ", Den: " << *mp_denumerator << endl;
4343

4444
}
45+
46+
CFraction& CFraction::operator =(const CFraction& fraction) {
47+
mp_numerator = new int();
48+
mp_denumerator = new int();
49+
50+
*mp_numerator = *fraction.mp_numerator;
51+
*mp_denumerator = *fraction.mp_denumerator;
52+
clog << "Num: " << *mp_numerator << ", Den: " << *mp_denumerator << endl;
53+
54+
return *this;
55+
}
56+
4557
void CFraction::writeln() {
4658
cout << "Num: " << *mp_numerator << ", Den: " << *mp_denumerator << endl;
4759
}
60+
61+

FractionDemo/src/CFraction.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ class CFraction {
1414
virtual ~CFraction();
1515
CFraction(int num, int den);
1616
CFraction(const CFraction &fraction);
17+
CFraction& operator=(const CFraction &fraction);
18+
1719
void writeln();
1820

1921
private:

FractionDemo/src/FractionDemo.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,15 @@ using namespace std;
1111
#include "CFraction.h"
1212

1313
int main() {
14-
CFraction zahl1(3, 4);
15-
CFraction zahl2;
16-
CFraction zahl3(zahl1);
14+
CFraction zahl1(3, 4); // mit Übergabeparametern
15+
CFraction zahl2; // mit Standardwerten initialisieren
16+
CFraction zahl3(zahl1); // als Copy Konstruktor
17+
CFraction zahl4 = zahl2; // mit Zuweisungsoperator
1718

1819
zahl1.writeln();
1920
zahl2.writeln();
2021
zahl3.writeln();
22+
zahl4.writeln();
2123

2224
return 0;
2325
}

0 commit comments

Comments
 (0)