[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