File tree Expand file tree Collapse file tree 3 files changed +21
-3
lines changed
Expand file tree Collapse file tree 3 files changed +21
-3
lines changed Original file line number Diff line number Diff 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+
4557void CFraction::writeln () {
4658 cout << " Num: " << *mp_numerator << " , Den: " << *mp_denumerator << endl;
4759}
60+
61+
Original file line number Diff line number Diff 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
1921private:
Original file line number Diff line number Diff line change @@ -11,13 +11,15 @@ using namespace std;
1111#include " CFraction.h"
1212
1313int 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}
You can’t perform that action at this time.
0 commit comments