Skip to content

Commit 5a13307

Browse files
committed
Mit einem Copy Konstruktor
1 parent 2d37fe2 commit 5a13307

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

FractionDemo/src/CFraction.cpp

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,26 @@ CFraction::~CFraction() {
2222

2323
CFraction::CFraction(int num, int den) {
2424
mp_numerator = new int();
25-
*mp_numerator = num;
2625
mp_denumerator = new int();
26+
27+
*mp_numerator = num;
2728
*mp_denumerator = den;
29+
2830
clog << "Num: " << *mp_numerator << ", Den: " << *mp_denumerator << endl;
2931
}
3032

33+
CFraction::CFraction(const CFraction &fraction) {
34+
// 1. Versuch
35+
// this->CFraction(*(fraction.mp_numerator),*(fraction.mp_denumerator));
36+
// 2. Versuch
37+
mp_numerator = new int();
38+
mp_denumerator = new int();
39+
40+
*mp_numerator = *fraction.mp_numerator;
41+
*mp_denumerator = *fraction.mp_denumerator;
42+
clog << "Num: " << *mp_numerator << ", Den: " << *mp_denumerator << endl;
43+
44+
}
3145
void CFraction::writeln() {
3246
cout << "Num: " << *mp_numerator << ", Den: " << *mp_denumerator << endl;
3347
}

FractionDemo/src/CFraction.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class CFraction {
1313
CFraction();
1414
virtual ~CFraction();
1515
CFraction(int num, int den);
16+
CFraction(const CFraction &fraction);
1617
void writeln();
1718

1819
private:

FractionDemo/src/FractionDemo.cpp

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

1313
int main() {
14-
CFraction zahl1(3,4);
14+
CFraction zahl1(3, 4);
1515
CFraction zahl2;
16+
CFraction zahl3(zahl1);
1617

1718
zahl1.writeln();
1819
zahl2.writeln();
20+
zahl3.writeln();
1921

2022
return 0;
2123
}

0 commit comments

Comments
 (0)