elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda Constructores C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda Constructores C++  (Leído 2,277 veces)
mayistik

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Duda Constructores C++
« en: 4 Febrero 2014, 18:02 pm »

Saludos X)...

Compa~neros tengo una duda.... cuando uso un constructor para inicializar un objeto, los datos del parametro del objeto se guardan en el dato miembro de la clase... y si es asi, que pasa cuando creo mas de un objeto y lo inicializo tambien, tambien se guarda el valor inicial en el dato miembro ... osea el dato miembro guarda 2 valores al tiempo? Ejm:

// Este programa desarrolla el ejercicio de la figura 3.7 CAPITULO 3

#include <iostream>
#include <string>

using namespace std;

class LibroCalificaciones
{
public:
   //Constructor
   LibroCalificaciones (string nombre){

      nombreCurso = nombre;
   };

   //Funcion para obtener el nombre del curso;
   string obtenerNombreCurso (){

      return nombreCurso;
   };

private:
   //Dato miembro
   string nombreCurso;

};

int main (){

   LibroCalificaciones oLibroCalificaciones1 ("valor string numero 1");
   LibroCalificaciones oLibroCalificaciones2 ("valor string numero 2");

   cout << "oLibroCalificaciones1 se creo para el curso \n" << oLibroCalificaciones1.obtenerNombreCurso();

   cout << "oLibroCalificaciones2 se creo para el curso \n" << oLibroCalificaciones2.obtenerNombreCurso();

   cout << "Quiero mostrar el valor dato miembro para el objeto oLibroCalificaciones1 de nuevo" << oLibroCalificaciones1.obtenerNombreCurso();


   return 0;
}


en este caso el dato miembro ---> (nombreCurso) tendria asignado dos valores... (valor string numero 1) y (valor string numero 2) ? GRACIAS DE ANTEMANO


En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: Duda Constructores C++
« Respuesta #1 en: 4 Febrero 2014, 18:35 pm »

No, tú lo estás viendo como si la clase en si misma fuera un objeto y esto no es así. Lo que ocurre cuando creas un objeto es que creas un objeto con las propiedades y métodos de la clase. Vamos, que la clase en sí sólo es una plantilla para los objetos que crearás después; la clase no se altera modifica para nada cuando asignas valores ni cuando creas objetos de dicha clase.


En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
mayistik

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Duda Constructores C++
« Respuesta #2 en: 4 Febrero 2014, 18:38 pm »

Gracias por la respuesta... tienes razon, ahora lo veo  ;-), pero entonces los parametros que envio al crear el objeto, donde se guardan ? :(
En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: Duda Constructores C++
« Respuesta #3 en: 4 Febrero 2014, 18:45 pm »

Se guardan en una variable del tipo de ese objeto. Es decir que cuando tú creas el objeto se asigna memoria suficiente para guardar las variables que corresponden a las que tú declaras en el objeto. Si por ejemplo tu clase fuera así:

Código
  1. class LibroCalificaciones
  2. {
  3. int Numero1
  4. int Numero2
  5. int Numero3
  6. }

Entonces cuando tú creas un nuevo objeto de esa clase se reserva memoria para tres variables de tipo "int".

El la siguiente imagen se ilustra una clase que se llama "Contacto" y se crean tres objetos de ese tipo. Ahí puedes ver como cada objeto guarda sus propios valores.

Editado: No te había adjuntado la imagen. XD
http://zilargi.files.wordpress.com/2009/12/cuadradino1.png?w=300
En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
mayistik

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Duda Constructores C++
« Respuesta #4 en: 4 Febrero 2014, 18:48 pm »

Ya entiendo  ;-)... Mil Gracias  bro...
En línea

Yoel Alejandro

Desconectado Desconectado

Mensajes: 254



Ver Perfil WWW
Re: Duda Constructores C++
« Respuesta #5 en: 5 Febrero 2014, 00:35 am »

Escucha, no, no se sobrescriben los valores (los diseñadores del lenguaje C++ no fueron tan tontos, jeje  :rolleyes:)

Cada objeto o "instancia" de una clase tiene su espacio privado de variables, es decir, su porción específica e INDIVIDUAL de memoria asignada a sí mismo dentro del programa. Si creas dos objetos:

Código:
LibroCalificaciones oLibroCalificaciones1 (string_1);
LibroCalificaciones oLibroCalificaciones2 (string_2);

pues cada uno tiene su propia variable nombreCurso, independiente de la del otro objeto. Puede asignar un valor al nombreCurso del primer objeto, y otro valor al nombreCurso del segundo objeto, sin ningún problema.

Espero haberte aclarado .... :)
En línea

Saludos, Yoel.
P.D..-   Para mayores dudas, puedes enviarme un mensaje personal (M.P.)
mayistik

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Duda Constructores C++
« Respuesta #6 en: 5 Febrero 2014, 03:53 am »

Si amigo... mas que claro  ;D Gracias
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Constructores de clase
Programación Visual Basic
Gangrel 1 1,316 Último mensaje 22 Abril 2006, 01:56 am
por Gangrel
Constructores en vb.net???
.NET (C#, VB.NET, ASP)
Skeletron 3 10,718 Último mensaje 14 Octubre 2009, 03:55 am
por seba123neo
[DUDA]Constructores this() y super()
Java
Feedeex 2 6,954 Último mensaje 12 Marzo 2011, 02:07 am
por Valkyr
Constructores en Java
Java
Viky30 5 6,267 Último mensaje 27 Noviembre 2011, 18:27 pm
por satu
lio con constructores y destructores
Programación C/C++
Javincy 2 2,424 Último mensaje 8 Febrero 2012, 16:18 pm
por Javincy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines