Documentos de Académico
Documentos de Profesional
Documentos de Cultura
C++ORIENTADO A OBJETOS (Parte 4)
C++ORIENTADO A OBJETOS (Parte 4)
orientado a objetos
Long rayo[ 25 ];
El vector rayo contiene 25 enteros. Esta declaración hace que el compilador reserve la memoria
suficiente para albergar los 25 elementos, como cada entero requiere 4 bytes, esta declaración reserva
100 bytes de memoria. La numeración de los elementos del vector van desde 0 hasta el elemento
mas grande. Los números serán de 0 al 24.
Sentencia asignando valor:
rayo [0]=29029;
rayo [0]=7804;
#include <iostream>
EJEMPLO: int main()
{
float goal[4];
goal[0] = 0.9;
goal[1] = 0.75;
goal[2] = 0.5;
goal[3] = 0.25;
float weight, target;
return 0;
}
REBASAR UN LIMITE DEL VECTOR
Cuando le asigne un valor a un elemento de un vector, el compilador calculara donde debe
almacenar el valor en memoria en función a su tamaño de cada elemento y su subíndice.
Para contar el numero de elementos de un vector se puede utilizar la función nativa de C++:
const int size = sizeof (post) / sizeof (post[0]);
Cuando se inicializa un vector de cinco elementos con seis valores, el compilador me mandara
mensaje de error.
int post[10] = {10,20,30,40,50,60};
Se puede inicializar un vector con menos valores.
VECTORES MULTIDIMENSIONALES
Un vector puede verse como una sola fila de datos. Un segunda dimensión equivaldría a una
cuadricula de datos compuesta por filas y columnas. Estaríamos hablando de un vector de datos
bidimensionales, en el que una dimensión representa las filas y la otra las columnas. Un vector
tridimensional seria un cubo, en el que una dimensión representaría el ancho, otra el alto y la
tercera la profundidad.
Cuando declare los vectores, cada dimensión estará representada como un subíndice del vector. Un
vector bidimensional tiene dos subíndice:
int main()
{
int box[5][3] = { 8, 6, 7, 5, 3, 0, 9, 2, 1, 7, 8,
9, 0, 5, 2 };
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 3; j++)
{
cout << "box[" << i << "]";
cout << "[" << j << "] = ";
cout << box[i][j] << "\n";
}
}
}
VECTORES DE CARACTERES
Al declarar un vector, le indica al compilador cuantos elementos espera guardar en él exactamente.
El compilador reserva en la memoria el espacio suficiente para el vector en función del tipo de dato
y el numero de elementos que contiene. Los vectores son apropiados para datos consistentes en un
numero conocido de elementos, como los escaques de un tablero de ajedrez(64) o los años de un
siglo (100).
Su familiaridad con los vectores hace posible trabajar con textos mas largos que los caracteres
sencillos que representa el tipo de datos char. Una cadena es una serie de caracteres. Ejemplo:
cout << “solium petit in profundis!\n”
Una cadena es un vector de caracteres que termina en un carácter null, un carácter especial
codificado como `\0´. Puede declarar e inicializar una cadena como cualquier otro vector:
char yum [] = {‘ z, ‘ o’, ‘ m’, ‘ b ’, ‘ i’, ‘ e’,’ ’, ‘ E’, ‘a’, ‘ t’, ‘ ’, ‘ B’, ‘ r’, ‘ a’, ‘i’, ‘ n’, ‘ s’, ‘\0’}; // cadena
de 18 bytes.
char yum [] = “zombies eat brains”; esta forma de inicialización no requiere carácter null, el
compilador lo añade automáticamente.
VECTORES DE CARACTERES
También se puede crear vectores de caracteres sin inicializar, que se denomina buffers. Como
ocurre con los vectores, es muy importante que se asegure de que no incluye en el buffer una
cantidad de información que rebase el espacio designado para ella. Los buffers se puede utilizar
para guardar la información que teclea el usuario como “ cin “. Ejemplo:
C++ hereda de C una biblioteca de funciones para trabajar con cadenas. Esta biblioteca se puede
incorpora a un programa incluyendo el archivo de cabecera string.h. Ejemplo:
#include <string.h>
Entre muchas funciones que proporcionan, hay dos para copiar una cadena en otra: strcpy(), y
strncpy(). La función strcpy() copia el contenido entero de una cadena en el buffer .
Si el vector original es mayor que el destino, strcpy() escribirá mas allá del buffer. Para evitar esto se
debe colocar:
strncopy(string1, string2, 80);//el tercer argumento especifica l numero máximo a copiar.
EJEMPLO:
#include <iostream>
#include <string.h>
Using n
int main()
{
char string1[] = "Free the bound periodicals!";
char string2[80];
strcpy(string2, string1);