El documento explica los apuntadores en programación orientada a objetos. Los apuntadores representan direcciones de memoria que pueden apuntar a objetos de diferentes tipos de datos, como enteros o caracteres. Para declarar un apuntador se usa el operador (*) antes del nombre de la variable y se especifica el tipo de dato al que apunta. Los apuntadores permiten acceder a los valores almacenados en las direcciones de memoria a las que apuntan mediante el operador de indirección (*).
0 calificaciones0% encontró este documento útil (0 votos)
124 vistas5 páginas
El documento explica los apuntadores en programación orientada a objetos. Los apuntadores representan direcciones de memoria que pueden apuntar a objetos de diferentes tipos de datos, como enteros o caracteres. Para declarar un apuntador se usa el operador (*) antes del nombre de la variable y se especifica el tipo de dato al que apunta. Los apuntadores permiten acceder a los valores almacenados en las direcciones de memoria a las que apuntan mediante el operador de indirección (*).
El documento explica los apuntadores en programación orientada a objetos. Los apuntadores representan direcciones de memoria que pueden apuntar a objetos de diferentes tipos de datos, como enteros o caracteres. Para declarar un apuntador se usa el operador (*) antes del nombre de la variable y se especifica el tipo de dato al que apunta. Los apuntadores permiten acceder a los valores almacenados en las direcciones de memoria a las que apuntan mediante el operador de indirección (*).
El documento explica los apuntadores en programación orientada a objetos. Los apuntadores representan direcciones de memoria que pueden apuntar a objetos de diferentes tipos de datos, como enteros o caracteres. Para declarar un apuntador se usa el operador (*) antes del nombre de la variable y se especifica el tipo de dato al que apunta. Los apuntadores permiten acceder a los valores almacenados en las direcciones de memoria a las que apuntan mediante el operador de indirección (*).
Descargue como DOCX, PDF, TXT o lea en línea desde Scribd
Descargar como docx, pdf o txt
Está en la página 1de 5
SECRETARA DE EDUCACIN PBLICA
DIRECCIN GENERAL DE EDUCACIN SUPERIOR TECNOLGICA
INSTITUTO TECNOLGICO DE TUXTLA GUTIRREZ
PROGRAMACIN ORIENTADA A OBJETOS APUNTADORES
INGENIERA EN SISTEMAS COMPUTACIONALES
Presenta: MOLINA SOSA BENJAMN
Tuxtla Gutirrez, Chiapas, Mxico; 11 de Marzo de 2014
APUNTADORES Cuando nosotros sealamos (con el dedo o cualquier otra cosa) lo hacemos porque estamos especificando una cosa u objeto del cual estamos hablando, aqu hacemos uso de un puntero. En Programacin Orientada a Objetos sucedes lo mismo con un apuntador, ya que este representa las direcciones de las variables a las que apuntan, no es una variable debido a que no guarda o contiene valores especficos, solo representa direcciones de memoria que pueden apuntar a objetos que pueden ser de tipo char, int, float, etc. Para declarar un puntero se emplea el operador (*) antes de la variable puntero y adems se debe indicar el tipo de dato al que apuntara esta variable: Sintaxis:
Eje mpl o:
Sabemos que los punteros apuntan a objetos, por eso debemos tener muy en cuenta que para poder hacer un buen uso eficiente de un puntero debemos de asignarles valores de memoria vlidas de objetos, adems de que los tipos tienen que ser compatibles, es decir que no podemos almacenar la direccin de memoria de un objeto de tipo int en un puntero de tipo char. Entonces los punteros slo pueden apuntar a objetos de un tipo determinado, pEntero slo puede apuntar a un objeto de tipo int y pCaracter solo a tipo char. En el ejemplo anterior, la variable puntero pEntero contiene la direccin donde se almacenar un dato de tipo entero, pero *pEntero es una expresin que corresponde a un entero; por lo tanto podemos emplear *pEntero en cualquier <tipo> *<identificador>;
pM = &M;
int *pEntero; //Apuntador a un dato tipo entero (int) char *pCaracter; //Apuntador a un dato tipo carcter (char)
pM = &M;
expresin que requiera la presencia de un entero, es decir *pEntero es una expresin que representa un valor entero almacenado en la direccin de memoria contenida en pEntero. Para poder operar con punteros tenemos a disposicin el uso de los operadores de referencia (&) y de indereccin (*). El operador (&) nos ayuda a conocer la direccin de cualquier variable (operando) y solo se podr asignarle a una variable que admita direcciones, es decir a una variable puntero, literalmente se lee la direccin de. Y el operador (*) permite obtener el dato ubicado en la direccin asignada a una variable puntero y puede ser traducido como Valor apuntado por.
Ejemplo: Uso de Punteros
Pudimos ver que la asignacin de la direccin r a p fue posible pues r es un entero y p fue declarado como puntero a entero, es decir son compatibles.
int r=3; // declaramos e inicializamos con 3 una variable entera r r int *p; // declaramos un puntero p a un entero p
p= &r; // asignamos la direccin de r al puntero p
cout<< *p <<endl; // informamos 3, el dato apuntado por p cout<< p; // informamos la direccin de memoria contenida en p
3 3
int *q; // valor entero apuntado por q int x=10; q = &y; // q es igual a la direccin de y. cout<<*p; p r float r, *t; t= &r;
int *m, *n; m=n;
int *q; q+=4 // la dir original de q aumento 16 bytes int *n,*s,*t,*o; n==s s != o t > s n >= t o > n
Otro Ejemplo:
ptrID es un puntero a int, mientras que la variable ID es solo una variable del tipo int. Todo puntero debe ser precedido por un asterisco (*) en la declaracin.
Tanto los objetos como los punteros contienen basura cuando son declarados, por eso es recomendable, que cuando se declare un puntero que no apunta a ningn objeto o algn sitio, este se le d un valor de cero o NULL para evitar esos problemas.
Con los apuntadores tambien podemos hacer operaciones, las cuales algunas son las siguientes: Se puede asignar la direccion de un no puntero a la de un puntero.
Se puede agregar la direccion de un puntero a otro puntero, siempre y cuando sean compatibles (mismo tipo de dato).
Es posible hacer operaciones aritmeticas a una variable puntero.
Podemos comparar diferentes punteros, con la condicion de que deben ser del mismo tipo de dato (compatibles).
int *ptrID, ID; ID = 8; ptrID = &ID; // puntero a ID
pM = &M;
int *p = 0; char *q = NULL;
pM = &M;
Existen otras funciones u otros tipos de apuntadores como son: Punteros Void Sabemos que el tipo void (vacio) la usbamos en funciones que no retornan valores o parmetros. En este caso se usan punteros de tipo void cuando no nos interesa el contenido de la memoria apuntada (pueden apuntar a cualquier tipo de dato) sino solamente la direccin. La limitacin que tiene es que el dato no puede ser referenciado directamente. Punteros y parmetros de funciones Los punteros en este caso son tratados como las variables al ser empleadas como parmetros en una funcin. Podemos pasar una funcin como parmetro a otra funcin. Punteros y arrays (arreglos) Los arrays (arreglos) estn ntimamente relacionados con los apuntadores, esto es porque el nombre de un arreglo representa la direccin del primer elemento del arreglo, quiere decir que el nombre es un puntero.
int x[6] = {1,2,3,4,5,6};
cout<< x<<endl; // obtenemos como salida la direccin del elemento 1 del arreglo. Por ejemplo: 0x22ff18
cout<< &x<< endl; // obtenemos como salida la direccin del elemento 1 del arreglo. Por ejemplo: 0x22ff18