Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <compare>
- using namespace std;
- class FondoInvestimento {
- public:
- FondoInvestimento(std::string nome, double capitalizzazione) :
- nome(nome), capitalizzazione(capitalizzazione) {}
- std::string getNome() const { return nome; }
- double getCapitalizzazione() const { return capitalizzazione; }
- private:
- double capitalizzazione = 0;
- std::string nome = "";
- };
- // SPACESHIP OPERATOR: <=>
- class Cliente {
- public:
- Cliente(string rs, double fatt) : ragione_sociale(rs), fatturato(fatt) {}
- //auto operator<=>(const Cliente& operando_a_destra) const {
- // return fatturato <=> operando_a_destra.fatturato;
- //}
- auto operator<=>(const Cliente& operando_a_destra) const = default;
- string getRagioneSociale() const { return ragione_sociale; }
- //explicit Cliente(FondoInvestimento& fondo) :
- // ragione_sociale(fondo.getNome()), fatturato(fondo.getCapitalizzazione()) {}
- //bool operator > (const Cliente& operando_a_destra) const {
- // return fatturato > operando_a_destra.fatturato;
- //}
- //bool operator >= (const Cliente& operando_a_destra) const {
- // return fatturato >= operando_a_destra.fatturato;
- //}
- //bool operator < (const Cliente& operando_a_destra) const {
- // return fatturato < operando_a_destra.fatturato;
- //}
- //bool operator <= (const Cliente& operando_a_destra) const {
- // return fatturato <= operando_a_destra.fatturato;
- //}
- //bool operator == (const Cliente& operando_a_destra) const {
- // return fatturato == operando_a_destra.fatturato;
- //}
- //bool operator != (const Cliente& operando_a_destra) const {
- // return fatturato != operando_a_destra.fatturato;
- //}
- private:
- std::string ragione_sociale = "";
- double fatturato = 0;
- };
- int main()
- {
- Cliente cli1 {"Paperone", 999999999 };
- Cliente cli2 { "Paperone", 13 };
- FondoInvestimento fondo1{ "Blackrock", 800000000000 };
- //cli1>fondo1
- //fondo1>cli1
- //l'essenza di qualunque algoritmo di sort e' il confronto tra due
- //elementi per decidere il minore o maggiore
- //if (cli1 > cli2)
- // cout << "Il cliente con maggior fatturato e' " << cli1.getRagioneSociale() << endl;
- //else if (cli1 < cli2)
- // cout << "Il cliente con maggior fatturato e' " << cli2.getRagioneSociale() << endl;
- //else
- // cout << "Il fatturato e' uguale\n";
- if (cli1 > cli2)
- cout << "Il cliente con maggior fatturato e' il primo\n";
- else if (cli1 < cli2)
- cout << "Il cliente con maggior fatturato e' il secondo\n";
- else
- cout << "Il fatturato e' uguale\n";
- /*cout << "Il 'cliente' con maggior fatturato e' "
- << (cli1 > (Cliente)fondo1 ? cli1.getRagioneSociale() : fondo1.getNome()) << endl;*/
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement