-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathContoCorrente.cpp
67 lines (54 loc) · 1.83 KB
/
ContoCorrente.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include "ContoCorrente.h"
#include <sstream>
double ContoCorrente::commissionePrelievo = 0.5;
double ContoCorrente::commissioneDeposito = 0.01;
ContoCorrente::ContoCorrente(): ContoBancario() {}
/**
* @param nomeIntestatario
* @param cognomeIntestatario
* @param saldoIniziale
*/
ContoCorrente::ContoCorrente(string nomeIntestatario, string cognomeIntestatario, double saldoIniziale):
ContoBancario(nomeIntestatario, cognomeIntestatario, saldoIniziale) {}
ContoCorrente::ContoCorrente(const ContoCorrente & cc): ContoBancario(cc) {}
double ContoCorrente::getCommissioneDeposito() {
return commissioneDeposito;
}
double ContoCorrente::getCommissionePrelievo() {
return commissionePrelievo;
}
/**
* @param cifraPrelevata è la cifra da prelevare
*/
double ContoCorrente::preleva(double cifraPrelevata){
return ContoBancario::preleva(cifraPrelevata + commissionePrelievo);
}
/**
* @param cifraDepositata è la cifra da depositare
*/
double ContoCorrente::deposita(double cifraDepositata){
return ContoBancario::deposita(cifraDepositata - commissioneDeposito);
}
//restituisce una copia dell'oggetto d'instanza
//allocato sullo heap. ATTENZIONE AL GARBAGE!
ContoCorrente* ContoCorrente::clona() const {
return new ContoCorrente(*this);
}
string ContoCorrente::toString() const {
std::stringstream dts, cts;
dts << getSaldo();
cts << commissionePrelievo;
return "ContoCorrente (Prelievo: " + cts.str() + "): \n " +
getNome() + " " + getCognome() + "\t SALDO: " +
dts.str() + "\n";
}
bool ContoCorrente::operator ==(const ContoBancario& cb) const {
const ContoCorrente* cc = dynamic_cast<const ContoCorrente*>(&cb);
if(cc && ContoBancario::operator ==(cb))
return true;
else
return false;
}
string ContoCorrente::getTipoConto() const {
return "Conto Corrente";
}