Skip to content

Commit 8dad433

Browse files
committed
SERIE 3
1 parent 0fbcfb4 commit 8dad433

File tree

5 files changed

+86
-0
lines changed

5 files changed

+86
-0
lines changed

CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ project(framework)
55

66
add_subdirectory("${PROJECT_SOURCE_DIR}/serie1" )
77
add_subdirectory("${PROJECT_SOURCE_DIR}/serie2" )
8+
add_subdirectory("${PROJECT_SOURCE_DIR}/serie3" )

serie3/CMakeLists.txt

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
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)

serie3/Frazione.cpp

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
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+
}

serie3/Frazione.h

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
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

serie3/s3main.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#include <iostream>
2+
using namespace std;
3+
4+
int main(void) {
5+
cout << "SERIE 3";
6+
return 0;
7+
}

0 commit comments

Comments
 (0)