Salve a tutti ragazzi , come da titolo sono alle prese con un ' esercitazione sui numeri complessi e mi sono incartato su quella che sembra essere una sciocchezza ; vi descrivo brevemente a che punto del programma sono :
Ho creato la classe numComplessi e sono riuscoto ad inserire/stampare numeri complessi con notazione "algebrica" e "polare" e a convertire le misure nel caso vengano inserita con una notazione piuttosto che l' altra .
Ora arriva il punto in cui mi sono bloccato : devo , attraverso il sovraccarico dei vari operatori , impostare le funzioni di somma , prodotto , assegnamento e comparazione(verificare se un numComplesso è uguale a un altro o meno) , penso di aver capito come impostarle ma non riesco a mandare in stampa le informazioni relative alla "somma" ...
float Complex::getAddendoS(float &reale, float & compl)
{
numCompl addendo (reale, compl);
cout << "Inserisci parte reale dell ' addendo "; cin >> addendo.reale;
cout << endl << "Inserisci la parte immaginaria"; cin >> addendo.compl;
return addendo.reale;
return addendo.compl;
}
numCompl numCompl :: operator+ (const numCompl addendo)
{
numCompl somma(reale, compl);
somma.reale = reale + addendo.reale;
somma.compl= compl+ addendo.compl;
return somma;
}
Tralasciando che posso scrivere meglio la funzione che richiede l ' inserimento dell' "addendo" , quando provo a stampare il risultato della "somma" , applicando alla variabile le funzioni di stampa della parte reale e di quella immaginaria mi vengono restituiti su schermo solo due zeri ... Qualcuno che mi può dare uno spunto ?