Oppure

Loading
29/08/09 11:17
puffin
Ho realizzato questo piccolo programma che tratta di numeri complessi ma non capisco perche non mi funziona la versione di ++ postfissa

il cout del main mi dovrebbe stampare "3 6" ma invece stampa "4 6" in pratica mi prende la versione prefissa, spero che qualk 1 mi aiuti

comples.h
 
 
#ifndef _Complex
#define _Complex

#include <ostream>

using namespace std;
 
class Complex{
public:
Complex();
Complex(double,double);
~Complex();
Complex operator+(const Complex& c)const ;
Complex& operator++();
Complex&  operator++(int x);
friend ostream& operator << (ostream& o,const Complex& c);
Complex& operator[](int i);
void stampa();      
private:
double RE,IM;
 
      
              
};


#endif




complex.cpp
#include "Complex.h"
#include <ostream>

using namespace std;
Complex::Complex(double re,double im){
                        
RE=re;
IM=im;                        
}


Complex::~Complex(){}

Complex::Complex(){}

Complex Complex::operator+(const Complex& c)const {
         
return Complex(RE+c.RE, IM+c.IM);       
}


Complex& Complex::operator++(){
     RE+=1; return *this;         
}

Complex&  Complex::operator++(int x){
         RE=RE+1;
         return *this;          
}


ostream&  operator << (ostream& o,const Complex& c){
o<<c.RE<<" "<<c.IM<<endl;
return o;     
}

Complex& Complex::operator[](int i){
return   *(this + i);
}




main

#include <cstdlib>
#include <iostream>
#include "Complex.h"

using namespace std;

int main(int argc, char *argv[])
{
    Complex a(1,2);
    Complex b(2,4);
    Complex c=a+b;
  
    cout<<c++;
  
  
  
  
    system("PAUSE");
    return EXIT_SUCCESS;
}

Ultima modifica effettuata da puffin 29/08/09 11:19
aaa