Título: Duda con las clases [c++] Publicado por: Lotux5 en 19 Abril 2013, 18:49 pm ¿como uso una funcion de una clase dentro de otra?
Título: Re: Duda con las clases [c++] Publicado por: naderST en 19 Abril 2013, 19:09 pm Depende, si el método es estático lo llamas como una función sino debes crear una instancia de la clase y llamarlo.
Título: Re: Duda con las clases [c++] Publicado por: Lotux5 en 19 Abril 2013, 19:49 pm Lo siento pero no te entiendo -.-". Por ejemplo: como introduciria la funcion int VectorDinamico :: Ncasillas(void){ return(numcasillas); } en otro metodo de la clase?
Título: Re: Duda con las clases [c++] Publicado por: rir3760 en 19 Abril 2013, 20:04 pm Como ya te comento naderST solo debes llamar a la funcion si es parte de la misma clase o, si se trata de una clase distinta, crear un objeto y en base a este llamar a la funcion.
Para el caso concreto que mencionas aplica lo primero, mas o menos asi: Código
Un saludo Título: Re: Duda con las clases [c++] Publicado por: Lotux5 en 19 Abril 2013, 20:10 pm Eso no tiene sentido ya que tengo el doble de lo mismo y me quedo con la duda de como introducir ese metodo dentro de otro diferente (dento de la misma clase) aqui de mi clase:
Código
Código
Título: Re: Duda con las clases [c++] Publicado por: Lotux5 en 19 Abril 2013, 20:14 pm A ver, por si todavia no que da clara mi duda, en resumidas cuentas seria ¿"COMO llamar a un metodo dentro de otro de la misma clase"?
Título: Re: Duda con las clases [c++] Publicado por: rir3760 en 19 Abril 2013, 20:32 pm ¿"COMO llamar a un metodo dentro de otro de la misma clase"? Pues honestamente me estoy quedando sin formas de explicarlo.Intento con un ejemplo donde una función miembro llama a otra: Código
Un saludo Título: Re: Duda con las clases [c++] Publicado por: Lotux5 en 19 Abril 2013, 20:51 pm Gracias por las molestias, pero yo no se si yo soy muy tonto o no nos estamos entendiendo bien. xD
Yo lo que quiero es una cosa asi. int VectorDinamico :: NCasillas (void) { return (numcasillas); } Y despues con esta funcion usar algo asi: void VectorDinamico :: PintaVector (void) { int n = NCasillas (void); for (int i=0; i<n; i++) cout << vector << endl; } Pero la parte de int n = NCasillas(void) no me funciona y tambien he probado n = this->N y tampoco y esa es mi duda como usar la funcion de arriba para usarla en el metodo de abajo. Título: Re: Duda con las clases [c++] Publicado por: rir3760 en 19 Abril 2013, 21:12 pm Pero la parte de int n = NCasillas(void) no me funciona Y no debe funcionar ya que es un error. Cuando se llama a una función que no recibe argumentos se utilizan los paréntesis vacíos.El uso de void es necesario en el lenguaje C en la declaración y definición de una función pero no en los usos de (llamadas a) esta. En el caso de C++ el uso de void no es necesario y no se recomienda. Si tomo tu programa y la definición de la función "PintaVector" la sustituyo por esta: Código Compila sin problemas. Un saludo Título: Re: Duda con las clases [c++] Publicado por: Lotux5 en 19 Abril 2013, 21:33 pm Perdon, me equivoque al copiarlo, "n = NCasillas();" pero aun asi tampoco me funciona. Ese es mi problema.
Título: Re: Duda con las clases [c++] Publicado por: 85 en 20 Abril 2013, 02:19 am Cuando se crea un objeto del tipo de una clase B, dentro de una clase A (objeto miembro), eso se llama composición. lo decía porque desde el objeto se pueden usar métodos de la clase B en A. También se pueden crear objetos de B dentro de los mismos métodos de A. Bueno era un comentario XD
un ejemplo http://codigomaldito.blogspot.com.ar/2005/12/composicin-objetos-miembro.html Título: Re: Duda con las clases [c++] Publicado por: rir3760 en 20 Abril 2013, 02:29 am me equivoque al copiarlo, "n = NCasillas();" pero aun asi tampoco me funciona. Con solo eso es difícil ayudarte. Mejor indica porque no te funciona y publica un programa de ejemplo donde se manifieste el problema.Un saludo |