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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


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

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Error en clase circulo
« en: 6 Marzo 2015, 19:44 pm »

Hola gente, no encuentro el error, me dice "Circulo was not declared in this scope", pero creo que declare todo

main.cpp
#include <iostream>

using namespace std;
Código:
int main()
{
    //parametrizado
    Circulo c1(10.5, 20.0, 1, "Rojo Intenso"),c2, c3;

   c2 = c1--;    // decrementa, si se puede, el diámetro

    c3 = c2++;    // incrementa, si se puede, el diámetro

    Circulo c4 = c3++;

    c4.CambiarColor("Amarillo patito flúo");


    cout << c1 << c2 << c3 << (c4 = c3) << endl;

    return 0;
}

Circulo.cpp

Código:
#include "Circulo.h"
#include <string.h>

using namespace std;

Circulo :: Circulo() //por defecto
{
    x=0.0;
    y=0.0;
    diam=0;
    strcpy(Color,"");
}

Circulo::Circulo(float x,float y,unsigned diam,char *Color) //parametrizado
{
    this->x=x;
    this->y=y;
    this->diam=diam;
    this->Color= Color;
}

Circulo::Circulo(const Circulo& obj) //por copia
{
    this->x=obj.x;
    this->y=obj.y;
    this->diam=diam;
    this->Color=Color;
}

Circulo.h

Código:
#ifndef CIRCULO_H
#define CIRCULO_H
#include <iostream>

using namespace std;

class Circulo
{
    public:
        Circulo();
        Circulo(float x,float y,unsigned diam,char *Color);
        Circulo(const Circulo& obj);
    private:
        float x,y;
        unsigned diam;
        char *Color;

};

#endif // CIRCULO_H




En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Error en clase circulo
« Respuesta #1 en: 6 Marzo 2015, 19:47 pm »

Añade
Código
  1. #include "Circulo.h"

En el main.


En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Error en clase circulo
« Respuesta #2 en: 6 Marzo 2015, 20:20 pm »

otra cosa:

Código
  1. class Circulo
  2. {
  3.  // ...
  4.  char *Color;
  5. };

Con esa declaración de "Color"...

Código
  1. Circulo::Circulo() //por defecto
  2. {
  3.    strcpy(Color,"");
  4. }

Esa copia va a fallar... Color no apunta a ninguna dirección de memoria válida.

Y esta otra asignación:

Código
  1. Circulo::Circulo(float x,float y,unsigned diam,char *Color) //parametrizado
  2. {
  3.    this->Color= Color;
  4. }

Puede darte problemas, ya que los dos char* apuntan al mismo sitio... si modificas una de las dos cadenas la otra también va a cambiar:

Código
  1. int main( )
  2. {
  3.  char cad1[10];
  4.  strcpy( cad1, "Test" );
  5.  
  6.  Circulo circulo( 1, 2, cad );
  7.  
  8.    strcpy( cad1, "Hola" );
  9.  
  10.    std::cout << cad1 << std::endl;
  11.    std::cout << circulo.Color << std::endl; // Pon Color en el public para que esto compile.
  12. }

Y lo mismo con el constructor copia. No es un fallo como tal pero te puede dar problemas.

Un saludo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Error en declaración de clase :s
Java
jclaurian 2 3,663 Último mensaje 22 Marzo 2008, 18:57 pm
por jclaurian
Error con Clase ctrlNSDataCombo.NSDataCombo??
Programación Visual Basic
ositocaro 0 1,633 Último mensaje 3 Noviembre 2010, 18:17 pm
por ositocaro
Error con clase PHPMailer
PHP
Feedeex 2 6,906 Último mensaje 3 Enero 2011, 15:11 pm
por AFelipeTrujillo
Error NetBeans con clase ObjetOutputStream...
Java
|Miguel| 4 3,379 Último mensaje 9 Febrero 2012, 17:17 pm
por |Miguel|
Error en ejercicio de clase
Programación C/C++
foreground 3 2,771 Último mensaje 14 Octubre 2012, 17:07 pm
por bemone
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines