[C con Clase] Manejo de Clases en C++

tataraperz koreano_87 en hotmail.com
Dom Ago 19 00:18:00 CEST 2007


Hola, espero ayudar.

A primera vista veo varios errores:

Te falto la sentencia "using namespace std;" o algo similar.

En la declaracion del destructor usar "pelicula::", siendo que eso solo se usa cuando estas fuera de la clase.
De todas formas preferiria que quedara algo como "~pelicula();" y definir el destructor fuera de la clase ahora si usando "::".

Tambien te lo dire pero no es un error, es de buena costumbre declarar los parametros de las funciones como constantes si no van a ser modificados dentro de la funcion.

Otro comentario, en C++ a diferencia de C no es necesario poner p.e "funcion(void)", basta con poner algo como "funcion()". Al igual que la funcion main debe ser de tipo "int". Al menos asi me exige ami el compilador que uso.

Así deje el codigo y funciona:

#include <iostream>
#include <cstring>
using namespace std;

class pelicula {
      private:
              char nombre[64];
              char actor_principal[64];
              char actor_secundario[64];
      public:
             void mostrar_pelicula();
             pelicula (const char*,const char*,const char*);
             ~pelicula();
      };

pelicula::~pelicula(void){cout<<"Entra el Destructor para la Pelicula "<<nombre<<endl;} 
 
void pelicula::mostrar_pelicula()
{
cout<<"____________________________________________________"<<endl<<endl;
cout<<"EL NOMBRE DE LA PELICULA ES : "<<nombre<<endl;
cout<<"ESTELARIZADA POR            : "<<actor_principal<<" Y "<<actor_secundario<<endl;
cout<<endl<<"____________________________________________________"<<endl<<endl;;
}

pelicula::pelicula(const char *nombre,const char *actor_principal,const char *actor_secundario)
{ 
 strcpy (pelicula::nombre, nombre);
 strcpy (pelicula::actor_principal, actor_principal);
 strcpy (pelicula::actor_secundario, actor_secundario);
}
int main()
{
 pelicula fugitivo("El fugitivo", "Harrison Ford", "Tommy Lee Jones");
 pelicula sintonia("Sintonia de amor", "Tom Hanks", "Meg Ryan");
 fugitivo.mostrar_pelicula();
 sintonia.mostrar_pelicula();
 cin.get();
 return 0;
}


Más información sobre la lista de distribución Cconclase