![]() |
| |||||||
| Registrarse | Preguntas Frecuentes | Lista de Foreros | Calendario | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
| | LinkBack | Herramientas | Desplegado |
| |||
| Hola. Revisando algunos temas de C++, tengo entendido que al inicializar variables en constructores, es preferible hacerlo fuera del constructor, (así): C_Cuenta::C_Cuenta(double unSaldo, double unInteres) : Saldo(unSaldo), Interes(unInteres) // inicializadores { cuerpo del constructor vacío } que no asignando de la manera tradicional: C_Cuenta::C_Cuenta(double unSaldo, double unInteres) { Saldo = unSaldo; Interes = unInteres; } Todo el mundo dice que es mejor, más elegante, etc., pero realmente ¿cuál es la ventaja? Gracias, mentes pensantes. |
| | ||||
| ||||
| |
| |||
| On Tue, 08 Nov 2005 18:05:08 +0100, pete <pedro_diaz***sfactory.es> wrote: >Todo el mundo dice que es mejor, más elegante, etc., pero realmente >¿cuál es la ventaja? es una cuestion de concepto, el conceto es el conceto, :-) Si son objetos, no te queda más remedio que hacerlo fuera, si son variables lo mismo te da, el código generado es el mismo, pero por una cuestion de estilo si estas trabajando en POO empleas la sintaxis como si se contruyese un objeto (mira quien habla, el que nunca lo hace así ;-)) Saludos :-) -Pedro- |
| |||
| On Tue, 08 Nov 2005 18:05:08 +0100, pete <pedro_diaz***sfactory.es> wrote: >Todo el mundo dice que es mejor, más elegante, etc., pero realmente >¿cuál es la ventaja? es una cuestion de concepto, el conceto es el conceto, :-) Si son objetos, no te queda más remedio que hacerlo fuera, si son variables lo mismo te da, el código generado es el mismo, pero por una cuestion de estilo si estas trabajando en POO empleas la sintaxis como si se contruyese un objeto (mira quien habla, el que nunca lo hace así ;-)) Saludos :-) -Pedro- |
| |||
| On Tue, 08 Nov 2005 18:05:08 +0100, pete <pedro_diaz***sfactory.es> wrote: >Todo el mundo dice que es mejor, más elegante, etc., pero realmente >¿cuál es la ventaja? es una cuestion de concepto, el conceto es el conceto, :-) Si son objetos, no te queda más remedio que hacerlo fuera, si son variables lo mismo te da, el código generado es el mismo, pero por una cuestion de estilo si estas trabajando en POO empleas la sintaxis como si se contruyese un objeto (mira quien habla, el que nunca lo hace así ;-)) Saludos :-) -Pedro- |
| |||
| On Tue, 08 Nov 2005 18:05:08 +0100, pete <pedro_diaz***sfactory.es> wrote: >Todo el mundo dice que es mejor, más elegante, etc., pero realmente >¿cuál es la ventaja? es una cuestion de concepto, el conceto es el conceto, :-) Si son objetos, no te queda más remedio que hacerlo fuera, si son variables lo mismo te da, el código generado es el mismo, pero por una cuestion de estilo si estas trabajando en POO empleas la sintaxis como si se contruyese un objeto (mira quien habla, el que nunca lo hace así ;-)) Saludos :-) -Pedro- |
| |||
| On Tue, 08 Nov 2005 18:05:08 +0100, pete <pedro_diaz***sfactory.es> wrote: >Todo el mundo dice que es mejor, más elegante, etc., pero realmente >¿cuál es la ventaja? es una cuestion de concepto, el conceto es el conceto, :-) Si son objetos, no te queda más remedio que hacerlo fuera, si son variables lo mismo te da, el código generado es el mismo, pero por una cuestion de estilo si estas trabajando en POO empleas la sintaxis como si se contruyese un objeto (mira quien habla, el que nunca lo hace así ;-)) Saludos :-) -Pedro- |
| |||
| On Tue, 08 Nov 2005 18:05:08 +0100, pete <pedro_diaz***sfactory.es> wrote: >Todo el mundo dice que es mejor, más elegante, etc., pero realmente >¿cuál es la ventaja? es una cuestion de concepto, el conceto es el conceto, :-) Si son objetos, no te queda más remedio que hacerlo fuera, si son variables lo mismo te da, el código generado es el mismo, pero por una cuestion de estilo si estas trabajando en POO empleas la sintaxis como si se contruyese un objeto (mira quien habla, el que nunca lo hace así ;-)) Saludos :-) -Pedro- |
| |||
| On Tue, 08 Nov 2005 18:05:08 +0100, pete <pedro_diaz***sfactory.es> wrote: >Todo el mundo dice que es mejor, más elegante, etc., pero realmente >¿cuál es la ventaja? es una cuestion de concepto, el conceto es el conceto, :-) Si son objetos, no te queda más remedio que hacerlo fuera, si son variables lo mismo te da, el código generado es el mismo, pero por una cuestion de estilo si estas trabajando en POO empleas la sintaxis como si se contruyese un objeto (mira quien habla, el que nunca lo hace así ;-)) Saludos :-) -Pedro- |
| |||
| On Tue, 08 Nov 2005 18:05:08 +0100, pete <pedro_diaz***sfactory.es> wrote: >Todo el mundo dice que es mejor, más elegante, etc., pero realmente >¿cuál es la ventaja? es una cuestion de concepto, el conceto es el conceto, :-) Si son objetos, no te queda más remedio que hacerlo fuera, si son variables lo mismo te da, el código generado es el mismo, pero por una cuestion de estilo si estas trabajando en POO empleas la sintaxis como si se contruyese un objeto (mira quien habla, el que nunca lo hace así ;-)) Saludos :-) -Pedro- |
| |||
| pete wrote: > Revisando algunos temas de C++, tengo entendido que al inicializar > variables en constructores, es preferible hacerlo fuera del constructor, > (así): > > C_Cuenta::C_Cuenta(double unSaldo, double unInteres) : > Saldo(unSaldo), Interes(unInteres) // inicializadores > { cuerpo del constructor vacío } > > que no asignando de la manera tradicional: Pues razón es precisamente esa: que inicializar es mejor hacerlo inicializando, no asignando. Y no es fuera del constructor, es en su lista de inicialización. Que esté fuera de las llaves es una peculiaridad de esa sintaxis sin mayor significado. Si asignas después, el objeto que sea primero se inicializará y después se le asignará algo. La inicialización en algunos casos no será nada cosotosa, pero es más simple inicializar siempre que preocuparse de cuando será costosa y cuando no. Y además en algunos tipos de datos (que sean const, o referencias, por ejemplo), no hay elección, no se les puede asignar. -- Salu2 |
| |
| |
![]() |
| Herramientas | |
| Desplegado | |
| |
Temas Similares | ||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Inicializadores de campos | Erick \(foxero\) | Newsgroup microsoft.public.es.csharp | 1 | 13-01-2008 00:57:03 |
| Limites C02: la UE quiere tasar a los constructores | MB | Newsgroup es.charla.motor | 18 | 21-12-2007 11:05:53 |
| Constructores priority_queue | safull@gmail.com | Newsgroup es.comp.lenguajes.c++ | 8 | 25-05-2006 23:49:13 |
| Constructores | Juan Sebastian Gil | Newsgroup microsoft.public.es.visio | 17 | 09-05-2004 03:58:34 |