C/Visual C - Clases Abstractas

 
Vista:

Clases Abstractas

Publicado por cornalo (4 intervenciones) el 06/07/2003 18:59:01
hola, tengo una pregunta o duda que hace rato nadie me puede contestar.

estoy haciendo un trabajo para algoritmos 1 y tengo una duda, tengo por ejemplo una clase base "clase1" y tengo en el public una funcion virtual "funcion1(int variable)"

ahora en una de las clases hijas (concretas) "clasehija1" la funcion "funcion1" ya no es virtual pero necesito pasarle otra variable como parametro "funcion1(int variable, char caracter)"
osea:

Código:
//clase1.h
...
class clase1{
public:
clase1();
~clase1();
virtual funcion1(int variable)=0;
};

//clasehija1.h
...
class clasehija1 : public clase1{
public:
clasehija1();
~clasehija1();
funcion1(int variable, char caracter);
};


la duda seria como hago en el cpp de "clasehija1" con la "funcion1" ??

tendria que poner las dos funciones "funcion1(int variable)" y "funcion1(int variable, char caracter)" para que ande... pero no se como.

osea tendria una sobrecarga de operadores(?) en la funcion "funcion1"

pero nose como implementar en "clasehija1.cpp" la "funcion1" ya que tiene distintos parametros en "clase1" y "clasehija1" .

se entiende??
buenos, gracias desde ya.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Clases Abstractas

Publicado por Juan (3 intervenciones) el 06/07/2003 20:08:48
No sé bien a que te refieres pero creo que lo que debes de hacer es sobrecargar el método funcion1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Clases Abstractas

Publicado por Xx Argentino Sexual xX (69 intervenciones) el 08/07/2003 01:26:59
Che cornalo, lo q intentas hacer no se puede hacer. Lo q se hace es esto:

//clase1.h
...
class clase1{
public:
clase1();
~clase1();
virtual funcion1(int)=0{funcion2(int variable, char caracter) };
}; // Si sabes cuales son los param, si no tenes q hacerlo en el .cpp

//clasehija1.h
...
class clasehija1 : public clase1{
public:
clasehija1();
~clasehija1();
funcion2(int,char);
};

Otro error q tenes es q en el .h los metodos q definis solo le tenes q poner el tipo, el nombre no va. Ej: en vez de funcion1(int variable) es funcion1(int).
Espero q t sirva. Che, donde estudias vos???


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Clases Abstractas

Publicado por cornalo (4 intervenciones) el 08/07/2003 03:15:58
mmmm ya averigue como se hace y parece que si se puede lo que se hace es poner:

class clase1{
public:
clase1();
~clase1();
virtual funcion1(int variable)=0;
};

//clasehija1.h
...
class clasehija1 : public clase1{
public:
clasehija1();
~clasehija1();
funcion1(int variable, char caracter);
virtual funcion1(int variable);
};

clasehija1::funcion1(int variable)
{
//aca el codigo
}

clasehija1::funcion1(int variable, char caracter)
{
//aca el codigo
}

asi me dijeron... espero que le sirva a alguien tanto como a mi.

PD: Xx Argentino Sexual xX estudio en Tandil...Ing. en Sistemas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Clases Abstractas

Publicado por Xx Argentino Sexual xX (69 intervenciones) el 09/07/2003 23:55:14
JA, yo tb estudio en tandil, ing. de sistemas, y soy de mar del plata.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Clases Abstractas

Publicado por cornalo (4 intervenciones) el 10/07/2003 14:57:28
jajajaj yo tb soy de mardelplata... que año cursas ???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar