Hogar Finanzas personales Por qué necesita copiar constructores en C ++ - dummies

Por qué necesita copiar constructores en C ++ - dummies

Video: 127. Programación en C++ || POO || Clases y objetos en C++ 2024

Video: 127. Programación en C++ || POO || Clases y objetos en C++ 2024
Anonim

El constructor es una función especial que C ++ invoca automáticamente cuando se crea un objeto para permitir que el objeto se inicialice. Hay dos variaciones particulares del constructor conocidos como copiar y mover constructores.

Un constructor de copia es el constructor que C ++ usa para hacer copias de objetos. Lleva el nombre X:: X (const X &), donde X es el nombre de la clase. Es decir, es el constructor de la clase X, que toma como argumento una referencia a un objeto de la clase X . Esto suena realmente inútil, pero solo tómate un minuto para explorar por qué C ++ necesita esas bestias.

Piensa por un momento en lo que sucede cuando llamas a una función como la siguiente:

void fn (Student fs) {// … misma situación; diferente argumento …} int main (int argcs, char * pArgs []) {Estudiante ms; fn (ms); return 0;}

En la llamada a fn (), C ++ pasa una copia del objeto ms y no el objeto en sí.

Ahora considere lo que significa crear una copia de un objeto. En primer lugar, se necesita un constructor para crear un objeto, incluso una copia de un objeto existente. C ++ podría crear un constructor de copia predeterminado que copia el objeto existente en el nuevo objeto un byte a la vez.

Eso es lo que hacen los lenguajes antiguos como C. Pero, ¿y si la clase no quiere una copia simple del objeto? ¿Qué pasa si se requiere algo más? (Ignore el "¿por qué?" Por un momento). La clase debe ser capaz de especificar exactamente cómo se debe crear la copia.

Por lo tanto, C ++ usa un constructor de copia en el ejemplo anterior para crear una copia del objeto ms en la pila durante la llamada a la función fn (). Este constructor de copia particular sería Estudiante:: Estudiante (Estudiante &) - di eso tres veces rápidamente.

Por qué necesita copiar constructores en C ++ - dummies

Selección del editor

Comparando objetos en Java - variables ficticias

Comparando objetos en Java - variables ficticias

Cuando empiezas a trabajar con objetos en Java, encuentras que puedes usar == y ! = para comparar objetos entre sí. Por ejemplo, un botón que ves en la pantalla de la computadora es un objeto. Puede preguntar si lo que acaba de hacer clic en el mouse es un botón en particular en su pantalla. Usted ...

Conversión y generación de datos numéricos en Java - Dummies

Conversión y generación de datos numéricos en Java - Dummies

De vez en cuando, necesita convertir datos numéricos de un tipo a otro en Java. Es posible que deba convertir un valor doble en un número entero, o viceversa. Algunas conversiones se pueden hacer de forma automática; otros se hacen usando una técnica llamada fundición. Conversiones automáticas en Java Java puede convertir automáticamente algunas primitivas ...

Comando Argumentos de línea en Java - Dummies

Comando Argumentos de línea en Java - Dummies

ÉRase una vez, la mayoría de los programadores de Java utilizaban una interfaz de desarrollo basada en texto. Escribieron un comando en una ventana de aspecto sencillo, generalmente con texto blanco sobre fondo negro. La ventana de aspecto simple se rige por varios nombres, según el tipo de sistema operativo que utilice. En Windows, una ventana de texto de este tipo es ...

Selección del editor

Cómo configurar el balance de blancos en las cámaras GoPro (edición negra) - simulaciones

Cómo configurar el balance de blancos en las cámaras GoPro (edición negra) - simulaciones

Si Te sientes aventurero o simplemente quieres controlar la temperatura de color de una escena en tu GoPro, no dudes en cambiar la configuración del balance de blancos. Por defecto, su GoPro está configurado en Auto, pero tiene otras opciones, incluidas estas: Automático: se ajusta automáticamente a la temperatura de color de la fuente de luz. 3000K: Funciona bien ...

Cómo limpiar una lente réflex digital - imitaciones

Cómo limpiar una lente réflex digital - imitaciones

Limpiar lentes dSLR es mucho menos intimidante que limpiar la cámara sensor. La limpieza de lentes es muy similar a limpiar ventanas. Debería sentirse cómodo limpiando lentes, ya sea que estén conectados a la cámara o no. Nunca se sabe cuándo tendrá que limpiar uno. Además, rara vez necesitará limpiar el objetivo trasero ...

Cómo estabilizar la cámara sin un trípode - muñecos

Cómo estabilizar la cámara sin un trípode - muñecos

Aquí hay algunas formas en que puede estabilizar su cámara digital sin un trípode Con un poco de ingenio, aún puedes obtener una gran fotografía de naturaleza o paisaje incluso cuando te olvidas de tu trípode. Imagina que es el anochecer Las ondulantes nubes están teñidas en 20 tonos que van del púrpura al azul cielo al rosa. Tienes ...

Selección del editor

Cómo sincronizar la música de Spotify con tu iPod - muñecos

Cómo sincronizar la música de Spotify con tu iPod - muñecos

Spotify es compatible con todos los modelos de iPod classic , así como el iPod shuffle y el iPod nano. Cualquier iPod que se conecte a través de una conexión por cable USB, en lugar del primer modelo que requirió una conexión FireWire (¿no hay un museo al que pueda donar eso?), Funcionará. Una excepción es el iPod touch: ...

Cómo etiquetar sus pistas en Spotify - dummies

Cómo etiquetar sus pistas en Spotify - dummies

En Spotify, puede etiquetar y editar la información de la pista . Cada archivo MP3 o AAC no es solo una pieza de audio. Al igual que una fotografía digital puede contener información adicional (sobre la cámara utilizada, la configuración de exposición, el tiempo que se tomó, etc.), un archivo de música digital también puede contener información, llamada metadatos, que ...

Cómo poner en orden el catálogo de Spotify - muñecos

Cómo poner en orden el catálogo de Spotify - muñecos

Con 15 millones de pistas y contando, habrá errores en la biblioteca de Spotify cuando se trata de páginas de biografía de artistas y artistas coincidentes con lanzamientos de álbumes. Spotify no cuenta con una herramienta automatizada para informar y corregir problemas, lo que crea un retraso manual para el personal de Spotify y es frustrante para los clientes que lo deseen ...