Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[C++]Poblema con constructor

Estas en el tema de [C++]Poblema con constructor en el foro de C/C++ en Foros del Web. Saludos, soy nuevo en el foro y ya vengo a pedir ayuda jeje tengo un problema con un tp q tengo q entregar en la ...
  #1 (permalink)  
Antiguo 27/10/2010, 11:01
 
Fecha de Ingreso: octubre-2010
Mensajes: 1
Antigüedad: 13 años, 5 meses
Puntos: 0
[C++]Poblema con constructor

Saludos, soy nuevo en el foro y ya vengo a pedir ayuda jeje tengo un problema con un tp q tengo q entregar en la facu. Sucede que me llama al costructor Usuaruio::Usuario() q no existe, pero no entiendo xq lo hace.


Código:
class Usuario {

    private:

        string nombre;

        Lista<string>* amigos;

        Lista<string>* intereses;

        Pila<string>* actividadesRecientes;

    public:

        Usuario(string nombreusuario){
            nombre =  nombreusuario;
            amigos = new Lista<string>;
            intereses = new Lista<string>;
            actividadesRecientes = new Pila<string>;
        }
y el llamado problematico viene de aca:

Código:
void agregarUsuario(string nombre) {

             Usuario nuevoUsuario(nombre);
             if (!(this->usuarios->Esta(nuevoUsuario)))
             {
                 this->usuarios->agregar(nuevoUsuario);

             }
             else
                this->consola->getSalida()<< "El usuario "<<nombre<<" ya existe."<<endl;
             return;
        }
Luego cuando quiere crear un nodo miren:

Código:
void insertar(T dato, Nodo<T>* anterior, Nodo<T>* siguiente) {
            /* crea el nodo */
            Nodo<T>* nuevo = new Nodo<T>(dato); // EL ERROR ESTA ACA, AHORA MUESTRO EL 
                // CONSTRUCTOR DEL NODO
            nuevo->setAnterior(anterior);
            nuevo->setSiguiente(siguiente);
            /* actualiza los nodos anterior y siguiente */
            if (anterior != NULL) {
                anterior->setSiguiente(nuevo);
            } else {
                /* actualiza el primero en caso de insertar al comienzo */
                this->getLista()->setPrimero(nuevo);
            }
            if (siguiente != NULL) {
                siguiente->setAnterior(nuevo);
            } else {
                /* actualiza el último en caso de insertar al final */
                this->getLista()->setUltimo(nuevo);
            }
            /* se queda en la posición que insertó */
            this->setActual(nuevo);
        }
NODO Y CONSTRUCTOR:

Código:
template<class T> class Nodo {
    private:
        /* elemento almacenado */
        T dato;
        /* puntero al siguiente nodo */
        Nodo<T>* siguiente;
        /* puntero al anterior nodo */
        Nodo<T>* anterior;


    public:
        

        Nodo(T dato) { // Esta linea llama a Usuario::Usuario()
            this->setDato(dato);
            this->setSiguiente(NULL);
            this->setAnterior(NULL);
        }
Desde ya muchas gracias, espero q alguien entienda cual es el problema
  #2 (permalink)  
Antiguo 29/10/2010, 07:11
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: [C++]Poblema con constructor

El paso por valor implica la creacion de una copia.
Si no quieres eso, o pasas una referencia o pasas un puntero.

Etiquetas: constructor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:09.