elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  errores en una clase de un libro
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: errores en una clase de un libro  (Leído 2,332 veces)
flony


Desconectado Desconectado

Mensajes: 583



Ver Perfil
errores en una clase de un libro
« en: 9 Enero 2023, 03:35 am »

buenas noches, estaba leyendo un libro "aprenda c++ avanzado como si estuviera en primero"
el primer ejemplo es hacer una clase de un objeto número complejo
la cuestión es que tanto en el headler como su implementación en un pequeño sector no me corre me podrían dar una mano y ver que error tiene ?
pongo solo la parte del error porque es bastante largo
complejo.h
Código:
#pragma once
#ifndef __COMPLEJO_H__
#define __COMPLEJO_H__
#include <iostream>
class complejo
{
private:
double real, imag;
public:
//constructores
complejo(void);
complejo(double, double im = 0.0);
complejo(const complejo&);
//setThing
void SetData(void);
void SetReal(double);
void SetImag(double);
//GetThing
double GetReal(void) { return real; }
double GetImag(void) { return imag; }
//sobrecarga operadores aritmeticos
complejo operator+ (const complejo&);
complejo operator- (const complejo&);
complejo operator* (const complejo&);
complejo operator/ (const complejo&);
//sobrecarga operadores de asignacion
complejo& operator = (const complejo&);
//sobrecarga operador de comparacion
friend int operator== (const complejo&, const complejo&);
friend int operator!= (const complejo&, const complejo&);
//sobrecarga del operador de insercion en el flujo de salida
friend ostream& operator<< (ostream& , const complejo&);

};

#endif // !__COMPLEJO_H__
la parte final del ostream y en el complejo.cpp es
Código:
ostream& operator<< (ostream& co, const complejo& a)
{
co << a.real;
long fl = co.setf(ios::showpos);
co << a.imag << "i";
co.flags(fl);
return co;
}
los errores que me tiran son
Citar
Gravedad   Código   Descripción   Proyecto   Archivo   Línea   Estado suprimido
Error   C2143   error de sintaxis: falta ';' delante de '&'   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.h   32   
Error   C2433   'ostream': 'friend' no se permite en las declaraciones de datos   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.h   32   
Error   C4430   falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.h   32   
Error   C2238   símbolos (token) inesperados delante de ';'   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.h   32   
Error   C2872   'ostream': símbolo ambiguo   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.cpp   107   
Error   C2143   error de sintaxis: falta ';' delante de '&'   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.cpp   107   
Error   C4430   falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.cpp   107   
Error   C2086   'int ostream': nueva definición   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.cpp   107   
Error   C2872   'ostream': símbolo ambiguo   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.cpp   107   
Error   C2473   'operator <<': parece una definición de función, pero no hay ninguna lista de parámetros.   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.cpp   107   
Error   C4430   falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.cpp   107   
Error   C2065   'co': identificador no declarado   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.cpp   107   
Error   C2059   error de sintaxis: 'const'   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.cpp   107   
Error   C2143   error de sintaxis: falta ';' delante de '{'   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.cpp   108   
Error   C2447   '{': falta el encabezado de función (¿lista formal de estilo anterior?)   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.cpp   108   
Error   C2143   error de sintaxis: falta ';' delante de '&'   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.h   32   
Error   C2433   'ostream': 'friend' no se permite en las declaraciones de datos   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.h   32   
Error   C4430   falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.h   32   
Error   C2238   símbolos (token) inesperados delante de ';'   complejo   C:\Users\Usuario\source\repos\complejo\complejo\complejo.h   32   
Error   C2679   '<<' binario: no se encontró un operador que adopte un operando en la parte derecha de tipo 'complejo' (o bien no existe una conversión aceptable)   complejo   C:\Users\Usuario\source\repos\complejo\complejo\main.cpp   18   
Error   C2679   '<<' binario: no se encontró un operador que adopte un operando en la parte derecha de tipo 'complejo' (o bien no existe una conversión aceptable)   complejo   C:\Users\Usuario\source\repos\complejo\complejo\main.cpp   19   
Error   C2679   '<<' binario: no se encontró un operador que adopte un operando en la parte derecha de tipo 'complejo' (o bien no existe una conversión aceptable)   complejo   C:\Users\Usuario\source\repos\complejo\complejo\main.cpp   20   
Error   C2679   '<<' binario: no se encontró un operador que adopte un operando en la parte derecha de tipo 'complejo' (o bien no existe una conversión aceptable)   complejo   C:\Users\Usuario\source\repos\complejo\complejo\main.cpp   21   
Error   C2679   '<<' binario: no se encontró un operador que adopte un operando en la parte derecha de tipo 'complejo' (o bien no existe una conversión aceptable)   complejo   C:\Users\Usuario\source\repos\complejo\complejo\main.cpp   22   
Error   C2679   '<<' binario: no se encontró un operador que adopte un operando en la parte derecha de tipo 'complejo' (o bien no existe una conversión aceptable)   complejo   C:\Users\Usuario\source\repos\complejo\complejo\main.cpp   23   
Error   C2679   '<<' binario: no se encontró un operador que adopte un operando en la parte derecha de tipo 'complejo' (o bien no existe una conversión aceptable)   complejo   C:\Users\Usuario\source\repos\complejo\complejo\main.cpp   24   


« Última modificación: 10 Enero 2023, 02:47 am por flony » En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
RayR

Desconectado Desconectado

Mensajes: 239


Ver Perfil
Re: errores en una clase de un libro
« Respuesta #1 en: 9 Enero 2023, 19:59 pm »

Es porque ese manual está muy obsoleto (además de ser muy malo).

En el C++ estándar (desde 1998, para que veas lo obsoleto del manual) ostream está dentro del namespace std. Para que te compile, debes escribir std::ostream


En línea

flony


Desconectado Desconectado

Mensajes: 583



Ver Perfil
Re: errores en una clase de un libro
« Respuesta #2 en: 10 Enero 2023, 02:47 am »

jajaja bien ...cambiando de libro jajaja
En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines