[c++] Problema con clase

Iniciado por noob2012, 25 Noviembre 2014, 20:35 PM

0 Miembros y 2 Visitantes están viendo este tema.

noob2012

Buenas, tengo otro problema.


//Clientes.h
class Clientes
{
public:
   Clientes (string);
   void mostrarNombreCliente(string nombre);
private:
   string nombre;
};



//Clientes.cpp
Clientes::Clientes (string nombre1)
{
nombre= nombre1;
}
void Clientes::mostrarNombreCliente(string nombre)
{
   cout<<"Nombre del cliente: "<<nombre;
}



//main.cpp
#include "Clientes.h"

int main ()
{
   Clientes clientes ("Sergio");
   clientes.mostrarNombreCliente();   //LINEA 21 DEL ERROR
system ("pause");
   return 0;
}



||=== Build: Debug in Elena (compiler: GNU GCC Compiler) ===|
C:\Users\Luana\Documents\Elena\main.cpp||In function 'int main()':|
C:\Users\Luana\Documents\Elena\main.cpp|21|error: 'Clientes' was not declared in this scope|
C:\Users\Luana\Documents\Elena\main.cpp|21|error: expected ';' before 'clientes'|
C:\Users\Luana\Documents\Elena\main.cpp|22|error: 'clientes' was not declared in this scope|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 2 second(s)) ===|

Eternal Idol

No estas incluyendo la cabecera string en ningun lado (amen de que tendras que usar valga la redundancia usign namespace o especificar el namespace std) y el metodo mostrarNombreCliente necesita de un parametro que no le estas pasando. Mejor revisa TODO el codigo con atencion ...
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

noob2012

Cita de: Eternal Idol en 25 Noviembre 2014, 20:53 PM
No estas incluyendo la cabecera string en ningun lado (amen de que tendras que usar valga la redundancia usign namespace o especificar el namespace std) y el metodo mostrarNombreCliente necesita de un parametro que no le estas pasando. Mejor revisa TODO el codigo con atencion ...


Ya lo he modificado, ahora funciona

Por fa corregime si no estoy llamando las cosas por su nombre

    void mostrarNombreCliente();

He corregido la función para que no requiera de ningún parámetro

Y al definir la función:

void Clientes::mostrarNombreCliente()
{
    cout<<"Nombre del cliente: "<<nombre;
    cout<<"\n";
}


Simplemente mediante cout hice que imprimera el valor de nombre

Ahora si funciona, gracias!!!


Eternal Idol

Funciona y tiene mas sentido  ::)
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón