• Viernes 8 de Noviembre de 2024, 19:47

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - purifuri69

Páginas: [1]
1
C/C++ / Dudas sencillas de objetos (c++)
« en: Martes 1 de Diciembre de 2009, 19:36 »
Hola.

Son 2 preguntas conceptuales sencillas y basicas .

Partimos de que tenemos una clase punto, entonces a la hora de hacer el constructor, podemos hacer algo asi:

class punto {
public:

punto (double a = 1, double b = 1) : _x(a), _y(b) {}

{...}

(_x y _y son atributos privados)

La pregunta es, que es exactamente a y b?, me refiero, eso cuando te declaras un objeto punto, si le pasas a y b (o solo a), te crea el objeto asignando a x el valor de a y analogamente para b, y si no le pasas los parametros, inicializan _x e _y a 1, pero como funciona por dentro, para que ese constructor funcion asi, y para que ese constructor también valga para "punto (double a = 1): _x(a), _y(1)" y también pueda hacer lo mismo que "punto(): _x(1), _Y(1)"??

La segundo pregunta es:

El constructor de copia, lo puede hacer automaticamente el compilador (supongo que dependera el como se haga el compilador), al menos el que use visual studio y c builder, haciendo una copia bit a bit, pero que en ambos los objetos apuntan a la misma direccion de memoria. Lo que no entiendo es si se hace una copia, en la memoria deben estar los datos por duplicado, en dos zonas de memorias distintas, entonces ¿porque la copia y la original apuntan al mismo sitio?, y que pasa con lo que se a copiado, si nadie apunta a esa zona de memoria, se queda esa zona de memoria inutilizable?, o lo marca el sistema como memoria liberada?... no entiendo muy bien...

Páginas: [1]