Código:
#include <iostream> //le borre el.h porque no funciona
using namespace std; //el codigo original no tenia esta parte
class complex
{
private:
double real, imag;
public:
complex (double a, double b) //constructor
{real=a ; imag =b;}
~complex () {} //destructor
//el codigo original tenia dos parentesis lo borre no tenian sentido
complex (complex& a) //constructor copia
{real=a.get_real(); imag=a.get_imag();}
complex& operator = (complex& m) //asignación
{real=m.get_real(); imag=m.get_imag(); return *this;}
double get_real (void) {return real;} //acceso al encapsulamiento
double get_imag (void) {return imag;}
friend ostream& operator << (ostream& os, complex& a)
{ //redefinición del operador <<
os << "Es un Complex=";
os << a.get_real() <<"+"<< a.get_imag () <<"i"<<endl;
return os;
}
};
int main (void) //programa principal
{
complex a(1.,1.); //definimos un objeto a complejo
complex b(double, double); //definimos un objeto b complejo
//codigo orig. le faltaba el parentesis
b=a; //asignamos un complejo a otro
complex c(a) ; //copiamos un complejo de otro
cout <<"complex a ="<<a.get_real()<<"+"<<a.get_imag()<<"i"<<endl;
cout <<"complex b ="<<b.get_real()<<"+"<<b.get_imag()<<"i""<<endl;
cout << c << endl;
return 0;
}
Citar
c:\documents and settings\tissera\mis documentos\visual studio 2008\projects\hola mundo\hola mundo\hola.cpp(30) : error C2659: '=' : función como operando izquierdo
c:\documents and settings\tissera\mis documentos\visual studio 2008\projects\hola mundo\hola mundo\hola.cpp(33) : error C2228: el operando izquierdo de '.get_real' debe tener class/struct/union
c:\documents and settings\tissera\mis documentos\visual studio 2008\projects\hola mundo\hola mundo\hola.cpp(33) : error C2228: el operando izquierdo de '.get_imag' debe tener class/struct/union
c:\documents and settings\tissera\mis documentos\visual studio 2008\projects\hola mundo\hola mundo\hola.cpp(33) : error C2001: nueva línea en constante
c:\documents and settings\tissera\mis documentos\visual studio 2008\projects\hola mundo\hola mundo\hola.cpp(34) : error C2146: error de sintaxis : falta ';' delante del identificador 'cout'
El registro de compilación se guardó en el "file://c:\Documents and Settings\tissera\Mis documentos\Visual Studio 2008\Projects\hola mundo\hola mundo\Debug\BuildLog.htm"
hola mundo - 5 errores, 0 advertencias
========== Volver a generar todo: 0 correctos, 1 incorrectos, 0 omitidos ==========
por las dudas el libro es c:\documents and settings\tissera\mis documentos\visual studio 2008\projects\hola mundo\hola mundo\hola.cpp(33) : error C2228: el operando izquierdo de '.get_real' debe tener class/struct/union
c:\documents and settings\tissera\mis documentos\visual studio 2008\projects\hola mundo\hola mundo\hola.cpp(33) : error C2228: el operando izquierdo de '.get_imag' debe tener class/struct/union
c:\documents and settings\tissera\mis documentos\visual studio 2008\projects\hola mundo\hola mundo\hola.cpp(33) : error C2001: nueva línea en constante
c:\documents and settings\tissera\mis documentos\visual studio 2008\projects\hola mundo\hola mundo\hola.cpp(34) : error C2146: error de sintaxis : falta ';' delante del identificador 'cout'
El registro de compilación se guardó en el "file://c:\Documents and Settings\tissera\Mis documentos\Visual Studio 2008\Projects\hola mundo\hola mundo\Debug\BuildLog.htm"
hola mundo - 5 errores, 0 advertencias
========== Volver a generar todo: 0 correctos, 1 incorrectos, 0 omitidos ==========
Citar
Lluís Gil Espert
Montserrat Sánchez Romero
El C++ por la pràctica
Introducción al lenguaje y su filosofía
lindo para leer es pura practica Montserrat Sánchez Romero
El C++ por la pràctica
Introducción al lenguaje y su filosofía