Contando con el conocimiento previo citado en:
Programación Orientada a Objetos - Arreglo de Objetos; en C++
Y el conocimiento citado en:
Cómo crear un objeto dinámico en C++
A continuación crearemos un arreglo de objetos dinámicos:
int main(){ //PRÓXIMAMENTE EN VIDEO
Circulo* circulos[2]; //declaración de variable
circulos[0]=new Circulo(10,20,30); //instanciación del primer objeto
circulos[1]=new Circulo(100,200,300); //instanciación del segundo objeto
cout << "El radio del circulo en índice 0 al principio es: " << circulos[0]->dameRadio() << endl; //debería imprimir un 10
circulos[0]->fijaRadio(1000); //cambio de estado para el primer objeto
cout << "El radio del circulo en índice 0 ahora es: " << circulos[0]->dameRadio() << endl; //debería imprimir un 1000
delete circulos[0];//cuando ya no necesites el objeto, tú mismo te encargas de liberar la memoria
delete circulos[1];//si no liberas la memoria de tus objetos, un programa grande se puede quedar sin memoria
}
Asumiendo como conocimiento previo, la clase Circulo explicada en el tema:
Protección de Información en Objetos; en C++
...y también como conocimiento previo el manejo de memoria dinámica explicado en:
Arreglos Dinámicos - Uso de Memoria Dinámica; en C y C++ Modular
Un objeto dinámico se crea y se usa de la siguiente forma:
int main(){ //PRÓXIMAMENTE EN VIDEO
Circulo* circulo; //declaración de variable
circulo=new Circulo(10,20,30); //instanciación de objeto
cout << "El radio del circulo al principio es: " << circulo->dameRadio() << endl; //debería imprimir un 10
circulo->fijaRadio(100); //cambio de estado para el objeto
cout << "El radio del circulo ahora es: " << circulo->dameRadio() << endl; //debería imprimir un 100
delete circulo;//cuando ya no necesites el objeto, tú mismo te encargas de liberar la memoria.
}
Tema | Video | Código Fuente | ||||
C | C++ | Java | C | C++ | Java | |
3.2.1 Disparador | ||||||
3.2.1.1 Un if disparador (si ... entonces) | :D | Lo harás tú mism@ | ||||
3.2.1.2 Varios if disparador e indentación | :D | Lo harás tú mism@ | ||||
3.2.2 Selección canónica (if...else) | ||||||
3.2.2.1 Operadores relacionales | :D | Lo harás tú mism@ | ||||
3.2.2.2 Operadores lógicos | :D | Lo harás tú mism@ | ||||
3.2.3 Selectiva múltiple | ||||||
3.2.3.1 if ... else if ... else | :D | Lo harás tú mism@ | ||||
3.2.3.2 Anidamiento de estructura secuencial | :D | Lo harás tú mism@ | ||||
3.2.3.3 Enumeración de constantes simbólicas | :D | Lo harás tú mism@ | ||||
3.2.3.4 Según sea (switch) | :D | Lo harás tú mism@ | ||||
¿Por qué usar en tus programas la constante simbólica EXIT_SUCCESS?
En https://www.youtube.com/watch?v=94L8ZDaHhZI (Constantes numéricas y constantes simbólicas; en lenguaje C)
...te platico sobre el porqué usar constantes simbólicas.
En https://www.youtube.com/watch?v=CFTUEhsVkJA (Números mágicos; en lenguaje C)
...te platico qué pasa si escribes mal una constante numérica.
Los dos videos anteriores son el sustento para la creación de la constante simbólica EXIT_SUCCESS, para que todo el programa quede en términos de variables y constantes simbólicas, evitando así todo número mágico en tu programa.
El valor que retorna main() es importante para cuando construyes tu programa con el objetivo de que otro programa de tu sistema lo mande ejecutar. Si ya has comprendido el que una subrutina x() manda llamar a otra subrutina y(), imagina lo que sucede si un programa X manda ejecutar a un programa Y.
Dependiendo del valor que tu programa main() retorne, ese dato en la sentencia "return" le hace saber al otro programa, cual fue el resultado (con un número) de ejecutar tu programa. Si tu programa retorna un 0, eso quiere decir que todo resultó con éxito en tu programa, de lo contrario se debe interpretar como un código de error, por ejemplo, -1 puede significar "error en la apertura de X archivo", -2 significar "error de conexión con el servidor", etc.
El evitar que tu programa accidentalmente fuese editado modificando el return 0 por otro número es la razón de incorporar EXIT_SUCCESS.
Hacer que un programa tuyo sea llamado por otro programa de tu computadora lo platicaré cuando abordemos el conocimiento disciplinar de "Sistemas Operativos" :D