Sono tanti piccoli errori che hai fatto...
codice:
#ifndef COMPLEX_H
#define COMPLEX_H
class Complex {
public:
Complex ( float , float );
~Complex ( );
//Hai dimenticato la "e"!
//void setComplx ( float , float );
//giusto
void setComplex ( float , float );
float getReal ( );
float getImm ( );
void somma ( Complex , Complex );
void differ ( Complex , Complex );
void stampaSomma ( );
void stampaDiffer( );
private:
//Attento!!!
//la "r" deve essere maiuscola!!
float real;
float Imm;
};
#endif
Sorgente:
#include "Complex.h"
#include <iostream.h>
#include <stdlib.h>
Complex::Complex( float re , float im )
{ setComplex ( 0.0 , 0.0 ); }
void Complex::setComplex ( float r , float i )
{
Real = r;
Imm = i;
}
float Complex::getReal( )
{ return Real; }
float Complex::getImm( )
{ return Imm; }
void Complex::somma( Complex a , Complex b )
{
Real = a.getReal( ) + b.getReal( );
Imm = a.getImm( ) + b.getImm( );
}
void Complex::differ ( Complex a , Complex b )
{
Real = a.getReal( ) - b.getReal();
Imm = a.getImm( ) - b.getImm( );
}
//Devi definirla come un membro usando ::
void Complex::stampaSomma( )
{
cout << " La somma dei due numeri complessi e': "
<< Real << ", i" << Imm << endl;
}
//Devi definirla come un membro usando ::
// e poi prima l'hai dichiarata come "stampaDiffer"
//sbagliato:
//void Complex::stampaDifferenza( )
//giusto:
void Complex::stampaDiffer( )
{
cout << " La differenza dei due numeri complessi e': "
<< Real << ", i" << Imm << endl;
}
Complex::~Complex( )
//Le parentesi graffe
{
system("PAUSE");
//Niente return perchè
// i distruttori e costruttori non possono restituire valori
//return 0;
}
Dovrebbe funzionare... :metallica