File tree 5 files changed +86
-0
lines changed
5 files changed +86
-0
lines changed Original file line number Diff line number Diff line change @@ -5,3 +5,4 @@ project(framework)
5
5
6
6
add_subdirectory ("${PROJECT_SOURCE_DIR} /serie1" )
7
7
add_subdirectory ("${PROJECT_SOURCE_DIR} /serie2" )
8
+ add_subdirectory ("${PROJECT_SOURCE_DIR} /serie3" )
Original file line number Diff line number Diff line change
1
+ cmake_minimum_required (VERSION 3.12)
2
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
3
+
4
+ project (serie3)
5
+
6
+ add_executable (${PROJECT_NAME} s3main.cpp frazione.cpp)
Original file line number Diff line number Diff line change
1
+ //
2
+ // Created by Massimo De Santi on 2019-03-23.
3
+ //
4
+ #include < iostream>
5
+ #include " Frazione.h"
6
+
7
+ using namespace std ;
8
+ ostream& operator << (ostream& o, const Frazione& f)
9
+ {
10
+ o << f.num () << " /" << f.den ();
11
+ return o;
12
+ }
13
+
14
+ // Primo operando (a sinistra) seoncondo operando a destra
15
+ Frazione operator +(Frazione a, const Frazione& b)
16
+ {
17
+ return a += b;
18
+ }
19
+
20
+ Frazione operator -(Frazione a, const Frazione& b)
21
+ {
22
+ return a -= b;
23
+ }
24
+
25
+ Frazione operator -(const Frazione& a)
26
+ {
27
+ return { - a.num (), a.den () };
28
+ }
Original file line number Diff line number Diff line change
1
+ //
2
+ // Created by Massimo De Santi on 2019-03-23.
3
+ //
4
+
5
+ #ifndef FRAMEWORK_FRAZIONE_H
6
+ #define FRAMEWORK_FRAZIONE_H
7
+
8
+
9
+ class Frazione {
10
+ int m_numeratore;
11
+ int m_denominatore;
12
+ public:
13
+ Frazione () : Frazione(0 , 1 ) {};
14
+ Frazione (int numeratore, int denominatore=1 ) :
15
+ m_numeratore{numeratore},
16
+ m_denominatore{denominatore} {};
17
+ ~Frazione () {};
18
+
19
+ int num () const { return m_numeratore; }
20
+ void num (int numeratore) { m_numeratore = numeratore; }
21
+
22
+ int den () const { return m_denominatore; }
23
+ void den (int denominatore) { m_denominatore = denominatore; }
24
+
25
+ Frazione& operator += (const Frazione& f) {
26
+ int temp_numeratore { f.m_numeratore * m_denominatore };
27
+ m_denominatore *= f.m_denominatore ;
28
+ m_numeratore *= f.m_denominatore ;
29
+ m_numeratore += temp_numeratore;
30
+ return *this ;
31
+ }
32
+
33
+ Frazione& operator -= (const Frazione& f) {
34
+ int temp_numeratore { f.m_numeratore * m_denominatore };
35
+ m_denominatore *= f.m_denominatore ;
36
+ m_numeratore *= f.m_denominatore ;
37
+ m_numeratore -= temp_numeratore;
38
+ return *this ;
39
+ }
40
+ };
41
+
42
+
43
+
44
+ #endif // FRAMEWORK_FRAZIONE_H
Original file line number Diff line number Diff line change
1
+ #include < iostream>
2
+ using namespace std ;
3
+
4
+ int main (void ) {
5
+ cout << " SERIE 3" ;
6
+ return 0 ;
7
+ }
You can’t perform that action at this time.
0 commit comments