[C++]Problema con le classi

TheBestNapoli
Salve a tutti... ho iniziato a studiare le classi in C++ e volevo esercitarmi a fare qualche programma... ho trovato questo programma che mi chiede di:
costruire una classe complesso che recepisca tutte le funzionalità di un numero complesso
scrivere un costruttore che inizializzi l’oggetto della classe con i valori di default
scrivere una funzione membro che addizioni 2 numeri complessi
io ho scritto il seguente codice:
#include <iostream>

using namespace std;

class Complesso{
	public:
		Complesso(int r=0, int i=0): Re(r), Imm(i){}
		void stampaComplex(){cout<<Re<<"+i"<<Imm<<endl;}
		Complesso sommaComplex(const Complesso c1, const Complesso c2);
	private:
		double Re, Imm;
};

Complesso Complesso::sommaComplex(const Complesso c1, const Complesso c2)
{
	Complesso sum;
	sum.Re=c1.Re+c2.Re;
	sum.Imm=c1.Imm+c2.Imm;
	return sum;
}

int main()
{
	Complesso c1(4,5), c2(3,2), sum;
	cout<<"Il primo numero complesso e':\n";
	c1.stampaComplex();
	cout<<"Il secondo numero complesso e':\n";
	c2.stampaComplex();
	sum.sommaComplex(c1,c2);
	cout<<"La somma dei due numeri complessi e':\n";
	sum.stampaComplex();
	return 0;
}

l'output però è il seguente:
Il primo numero complesso e':
4+i5
Il secondo numero complesso e':
3+i2
La somma dei due numeri complessi e':
0+i0

potreste dirmi dove sbaglio? Grazie mille.

Risposte
anonymous_be1147
Forse perché l'oggetto restituito dal metodo sommaComplex (riga 29) non viene assegnato ad alcunché?

TheBestNapoli
grazie mille, ho capito l'errore dov'era... in realtà io avevo già scritto il codice in maniera corretta ma il compilatore mi dava errore (forse era un altro) e cmq ora ho capito meglio l'utilizzo delle classi... ah scusa se non l'ho scritto prima ma alla fine l'esercizio mi diceva anche:
Rappresentate i dati private della classe in tipo intero
questo significa che i dati private li devo dichiarare direttamente int o indica che devo trasformare i double in int? Grazie ancora.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.