[C con Clase] tengo dudas con clases C++
David Reza
l.fix3r.l en gmail.com
Sab Ene 12 07:00:55 CET 2008
On 01/01/2008, at 06:48 PM, ÄÐOLFO VIÐAL VÄM wrote:
> Hola amigos:
> estoy aprendiendo clases y tengo dudas con clases en C++ y desearia
> saber cual es el error de este codigo y si esta bien planteao el
> codigo.
>
> #include <iostream.h>
> class cEstudiante
> {
> private:
> int cod[9],x;
> char *nombre[20];
> public:
> cEstudiante();
> ingresar();
> mostrar();
> };
> cEstudiante::cEstudiante()
> {
> x=0;
> }
> cEstudiante::ingresar()
> {
> cout<<"ingrese codigo"<<endl;
> cin>>cod[x];
> cout<<"ingrese nombre"<<endl;
> cin>>nombre[x];
> x++;
> }
> cEstudiante::mostrar()
> {
> for(int i=0;i<=x;i++)
> {
> cout<<"Codigo"<<this->cod[i]<<endl;
> cout<<"nombre "<<this->nombre[i]<<endl;
> }
> }
> void main()
> {
> int op;
> cEstudiante A;
> cout<<"\n\n * M E N U * ";
> do{
> cout<<"\n======================================\n";
> cout<<"Selecione la opcion que desea\n";
> cout<<"======================================\n";
> cout<<"1.-Ingresar\n";
> cout<<"2.-Mostrar\n";
> cout<<"3.-Salir\n=>";
> cin>>op;
> switch(op)
> {
> case 1:
> A.ingresar();
> break;
> case 2:
> cout<<"\n\nmostrar??? ";
> A.mostrar();
> break;
> case 3:
> cout<<"\nGracias!!!\n\n";
> break;
> default:
> cout<<"\nEsa opcion no esta en el menu!!!\n";
> break;
> }
>
> }while (op<3);
> }
No estás declarando el valor de retorno de los métodos (ingresar y
mostrar) tanto en la definición como en la implementación de la clase.
La condición del do-while debería de ser while(op>4).
cod y nombre no deberían de ser arreglos puesto que se crea un
conjunto de ellos para cada objeto creado.
Tu método de "mostrar" está mal planteado, estás queriendo usar un
método que se aplica a un objeto específico y dentro de ese método
intentas utilizar varios objetos.
La variable x no te sirve de nada, deberías eliminiarla.
Sólo en eso te puedo ayudar hasta ahora, luego trataré de leer lo
demás.
Saludos.
Enviado desde mi iPod Touch.
Más información sobre la lista de distribución Cconclase