Salve a tutti!
Ho provato a compilare questo programma in C++, programmato a oggetti, che consiste nell'inserire un numero di tipo int, double o long e restituire il suo valore assoluto in output, usando l'overloading.
E' la prima volta che uso l'overloading (sono uno studente di 4 superiore) e nel compilare il programma ho 18 errori, anche se non capisco che errori siano.
Gli errori sono concentrati tutti nei metodi (ovvero nelle funzioni) "output()" del file "ValAss.h" e "ValAss.cpp".

Questi sono i file:


ValAss.h:

class ValAss{

private:

int numi;
double numd;
long numl;

public:

ValAss();
~ValAss();
int output();
double output();
long output();
}

-------------------------------------------------------------------------------------------------

ValAss.cpp:

#include "ValAss.h"
#include <iostream>
using namespace std;

ValAss::ValAss(){

int a;

cout << "Vuoi inserire un numero: 1.int \n2.double \n 3.long\n";

switch (a){
case 1:
cout << "Inserisci il valore int: ";
cin >> numi;
break;
case 2:
cout << "\nInserisci il valore double: ";
cin >> numd;
break;
case 3:
cout << "\nInserisci il valore long: ";
cin >> numl;
break;
}

}

ValAss::~ValAss(){
cout << "Il distruttore si è distrutto";
}

int ValAss:utput(){

if (numi<0) numi=numi*-1;
return numi;

}

double ValAss:utput(){

if (numd<0) numd=numd*-1;
return numd;

}

long ValAss:utput(){

if (numl<0) numl=numl*-1;
return numl;

}


-------------------------------------------------------------------------------------------------

main.cpp:


#include "ValAss.h"
#include <iostream>
using namespace std;

int main (int argc, char * const argv[]) {

ValAss numero;

cout << "Il valore assoluto del numero immesso è: " << numero.output();

return 0;
}


-------------------------------------------------------------------------------------------------

Spero possiate aiutarmi :]

Grazie in anticipo a tutti!