puffin (Normal User)
Rookie
Messaggi: 30
Iscritto: 18/07/2009
|
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
Codice sorgente - presumibilmente C++ |
#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
Codice sorgente - presumibilmente C++ |
#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
Codice sorgente - presumibilmente C++ |
#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 il 29/08/2009 alle 13:19 |