[C con Clase] Duda de novato - herencia con estructuras.
Miguel Ángel Torres Fernández-Píñar
miguelangeltorresfp en gmail.com
Lun Dic 16 10:36:16 CET 2013
Gracias Alexis por tu respuesta.
Es que no me expliqué bien.
Imagínate que tengo que instanciar cuarenta objetos de esta esta estructura
punto :
punto a;
punto b;
punto c;
.....
Imagínate que en tiempo de ejecución calculo la coordenada Z que va a ser
común a todos los objetos, pongamos Z = 200;
Ahora para instanciar los objetos podría hacer :
a.x = 10;
a.y = 20;
a.z = 200;
b.x = 30;
b.y = 8;
b.z = 200;
c.x = 5;
c.y = 15;
c.z = 200;
......
Y la pregunta es. ¿ Cómo podría usar el concepto de herencia o algo similar
para no tener que estar repitiendo la coordenada Z en todos los objetos ???
¿Se podría hacer creando una estructura padre que tuviera las tres
coordenadas y luego que las estructuras hijas sobreescribieran tan sólo la
X y la Y, y herederan la Z de la estructura padre ???
Gracias y saludos a todos y FELIZ NAVIDAD !!!!!!!!
El 15 de diciembre de 2013, 15:27, Alexis García Báez
<ybaez en infomed.sld.cu>escribió:
> Miguel
> Cuando dices en tiempo de ejecucion me imagino que quieras asignarle
> valores a x, y o z (siguiendo el ejemplo de Julio Cesar saludos para el
> tambien) despues de tener ese valor ya sea en memoria dinamica o en alguna
> variable que va a obtener valor despues de la compilacion es lo que
> entendi, para eso basta con cambiar el constructor asi
>
>
> struct punto{
> int x;
> int y;
> int z;
> punto(int a) { y = a; };
> };
>
> De esa forma cuando quieras instanciar puedes llamar al constructor y
> pasarle por parametro la variable que ya debe tener el valor.
>
> No se si responde tu pregunta.
>
> Saludos
> Alexis
>
>
> El 16/12/2013 8:10, Miguel Ángel Torres Fernández-Píñar escribió:
>
> Muchas gracias Julio, eso contesta la mitad de mi pregunta.
>
> ¿ Cómo se podría hacer si el valor de y = 50 se conoce en tiempo de
> ejecución y no en tiempo de compilación ??
>
> Gracias por vuestro tiempo.
>
> Un saludo !!!
>
>
>
>
> El 15 de diciembre de 2013, 23:30, Julio Cesar <ggeatom en gmail.com>escribió:
>
>> Hola Miguel, a mi se me ocurre que podrias ocupar constructores en tu
>> estructura, yo entendi tu problema mas o menos asi;
>>
>> Supongamos la siguiente estructura y quieres definir 2 variables del
>> "tipo punto", las cuales quieres que inicialmente tengan y = 50.
>>
>> struct punto{
>> int x;
>> int y;
>> int z;
>> }
>>
>> Entonces podrias definir la estructura de la siguiente manera:
>>
>> struct punto{
>> int x;
>> int y;
>> int z;
>> punto(){ y = 50;}
>> }
>>
>> De esta manera toda variable de tipo punto que declares, se
>> inicializara con y = 50
>>
>> Cuando menos, yo lo entiendo así, puedes consultar un poco mas de
>> estructuras en: http://c.conclase.net/curso/index.php?cap=011#inicio
>>
>>
>> El 15 de diciembre de 2013, 6:46, Miguel Ángel Torres Fernández-Píñar <
>> miguelangeltorresfp en gmail.com> escribió:
>>
>>> Hola, un saludo a tod en s :
>>>
>>> Imaginense que tengo que defino una estructura con 10 propiedades y
>>> tengo que declarar y definir 5 o 6 variables que tengan esta estructura
>>> como tipo de variable.
>>>
>>> Imaginense que estas variables ( instancias de la supuesta estructura )
>>> tienen varias propiedades con el mismo valor ( por ejemplo todas tienen una
>>> propiedad "height" igual a 200.
>>>
>>> ¿ Cómo podría hacer para no tener que estar inicializando estas
>>> propiedades ( con el mismo valor ) en cada una de las instancias ?.
>>>
>>> Gracias por adelantado.
>>>
>>> Chau !!!.
>>>
>>>
>>> _______________________________________________
>>> Lista de correo Cconclase Cconclase en listas.conclase.net
>>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>>>
>>
>>
>> _______________________________________________
>> Lista de correo Cconclase Cconclase en listas.conclase.net
>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>>
>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.nethttp://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20131216/7aec60a6/attachment-0001.html>
Más información sobre la lista de distribución Cconclase