Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Orientados a Objetos
2. Punteros.
Operador de alcance ::
Para distinguir entre una variable global y una local con
el mismo nombre, colocamos :: delante de la variable
global. Hay otro uso en clases, se verá más adelante
#include <iostream>
using namespace std;
int count =50;
int main()
{
int count;
for(count=1; count<10; count++)
{
cout << “Result” << ::count/count << endl;
}
return(0);
} global local
Calificador const:
Modificador de una variable que hace que esta no
pueda ser modificada. Es necesario inicializarla. Es la
forma de definir una constante en C++ (ej: PI).
Variables estáticas
Todas las variables estudiadas hasta el
momento.
Memoria reservada en tiempo de compilación.
Su valor cambia en tiempo de ejecución pero su
tamaño NO.
Ejemplo: programa que opere con vectores
Problemas de sobredimensionamiento.
Problemas de Infradimensionamiento.
¿Sólución?
Variables Dinámicas
Variables creadas en tiempo de ejecución.
Su tamaño se define en tiempo de ejecución.
Gestión de la memoria flexible y eficiente.
Estas variables guardan datos en memoria del
tipo de dato al que se han creado pero NO
tienen asignado un identificador.
¿Cómo operar con ellas?
Solución: Punteros.
O directamente:
Hay que saber el
int *p;
tamaño de cada
dato que vamos
Siempre lleva asociado un tipo. ¿Por qué? a almacenar en
int *pi; ... memoria
temp 2
temp 2
1
temp 2
1
temp 1
1
int *pi; pi
¿?
pi
pi = new int;
¿?
pi
*pi = 5; 5
int * pi;
¿?
pi
pi = new int[n];
¿? ¿? ¿? ¿?
int **matriz;
Vector
p = q; *p = *q;
p p
2 5
q q
5 5
}
void LeerVector(Vector v, int tam)
{
for(int i = 0; i < tam; i++)
cin >> v[i];
}
void SumarVector(const Vector v1, const Vector v2,
Vector vr, int tam)
{
for(int i = 0; i < tam; i++)
vr[i] = v1[i] + v2[i];
}
39 Asig.: Ampliación de Informática Mariano Pérez
Realizar un programa que permita la ordenación por
inserción de un vector de cualquier tamaño, el tamaño
lo introducirá el usuario por teclado (usaremos reserva
dinámica de memoria).(tarea de aulavirtual)
Ejercicio