Ok vi allego il codice, ditemi che ne pensate.
Lele
valoribase.h
#ifndef VALORIBASI_H
#define VALORIBASI_H
#include <iostream>
using std::cout;
using std::endl;
class valoriBasi
{
public:
valoriBasi(int val01, int val02 );
void setPrimo ( int val01 );
void setSecondo ( int val02 );
int getPrimo() const;
int getSecondo() const;
virtual void visualizza() const;
private:
int primo;
int secondo;
};
#endif // VALORIBASI_H
ValoriBasi.cpp
#include "valoribasi.h"
// inizializza i valori
valoriBasi::valoriBasi(int val01, int val02)
{
setPrimo(val01);
setSecondo(val02);
}
// inizializza il primo valore
void valoriBasi::setPrimo(int val01){
primo = val01;
}
// inizializza il secondo valore
void valoriBasi::setSecondo(int val02){
secondo = val02;
}
// visualizza i valori della ClasseBase
void valoriBasi::visualizza() const {
cout << "Valori basi\n";
cout << "Primo valore = " << getPrimo () << endl;
cout << "secondo valore = " << getSecondo () << endl;
}
// recupera il primo valore
int valoriBasi::getPrimo() const{
return primo;
}
// recupera il secondo valore
int valoriBasi::getSecondo() const{
return secondo;
}
valoreMoltiplicazione.h
#ifndef VALORIMOLTIPLICAZIONE_H
#define VALORIMOLTIPLICAZIONE_H
#include "valoribasi.h"
#include <iostream>
using std::cout;
using std::endl;
class valoriMoltiplicazione : public valoriBasi
{
public:
valoriMoltiplicazione(int &val01, int &val02);
int getMoltiplicazione() const;
virtual void visualizza() const;
};
#endif // VALORIMOLTIPLICAZIONE_H
valoriMoltiplicazione.cpp
#include "valorimoltiplicazione.h"
// inizializza la classe ValoriBasi e valoriMoltiplicazione
valoriMoltiplicazione::valoriMoltiplicazione(int &val01, int &val02)
:valoriBasi(val01, val02)
{
}
// somma i valori della classe valoriMoltiplicazione
int valoriMoltiplicazione::getMoltiplicazione () const{
return valoriBasi::getPrimo () * valoriBasi::getSecondo ();
}
// mostra la fuzione visualizza di ValoriBase e valoriMoltiplicazione
void valoriMoltiplicazione::visualizza () const{
valoriBasi::visualizza ();
cout << "Valore moltiplicato = " << getMoltiplicazione () << endl;
}
voloriSomma.h
#ifndef VALORISOMMA_H
#define VALORISOMMA_H
#include "valoribasi.h"
class valoriSomma : public valoriBasi
{
public:
valoriSomma (int &val01, int &val02);
int getSomma() const;
virtual void visualizza() const;
};
#endif // VALORISOMMA_H
valoriSomma.cpp
#include "valorisomma.h"
// inizializza la classe ValoriBasi e ValoriSomma
valoriSomma::valoriSomma(int &val01, int &val02)
: valoriBasi(val01, val02)
{
}
// somma i valori della classe valoriBase
int valoriSomma::getSomma () const {
return valoriBasi::getPrimo () + valoriBasi::getSecondo ();
}
// mostra la fuzione visualizza di ValoriBase e ValoriSomma
void valoriSomma::visualizza () const{
valoriBasi::visualizza ();
cout << "Valori sommati " << getSomma () << endl;
}