Actualizado el 30 de Junio del 2018 (Publicado el 25 de Febrero del 2018)
1.434 visualizaciones desde el 25 de Febrero del 2018
231,1 KB
116 paginas
Creado hace 20a (21/11/2004)
Tutorial de C++
o el diario de Peter Class
Peter Class
Pello Xabier Altadill Izura
Tutorial de C++: o el diario de Peter Class
por Peter Class y Pello Xabier Altadill Izura
Este documento se cede al dominio publico.
Historial de revisiones
Revisión 1.0 19-11-2004 Revisado por: px
Documento inicial
Tabla de contenidos
1. Intro..................................................................................................................................................................... 1
2. Hola nena ............................................................................................................................................................ 2
3. Funciones ............................................................................................................................................................ 3
4. Tipos de datos..................................................................................................................................................... 5
5. Operadores ......................................................................................................................................................... 8
6. Parametros, ambito, sobrecarga..................................................................................................................... 14
7. Clases................................................................................................................................................................. 21
8. Iteraciones......................................................................................................................................................... 27
9. Punteros ............................................................................................................................................................ 33
10. Referencias...................................................................................................................................................... 39
11. Funciones avanzadas...................................................................................................................................... 47
12. Arrays.............................................................................................................................................................. 56
13. Herencia .......................................................................................................................................................... 61
14. Herencia multiple........................................................................................................................................... 67
15. Miembros estaticos......................................................................................................................................... 74
16. Clases y sus amigas ........................................................................................................................................ 79
17. Entrada/Salida ............................................................................................................................................... 88
18. Preprocesador................................................................................................................................................. 95
19. Principios de POO ......................................................................................................................................... 98
20. Templates ........................................................................................................................................................ 99
21. Excepciones................................................................................................................................................... 104
22. Librerias estandar........................................................................................................................................ 109
23. Notas, autoria, licencia, referencias............................................................................................................ 112
iii
Lista de tablas
4-1. Tipos basicos de datos ...................................................................................................................................... 6
23-1. Palabras reservadas de c++......................................................................................................................... 112
iv
Capítulo 1. Intro
El caballero Peter Class
Este es el diario de Peter Class sobre sus dias aprendizaje de una disciplina de caballeros: c++ sobre linux. No
pretende ser una vision exaustiva del lenguaje c++, simplemente muestra su uso a traves de los ejemplos. Un
lenguaje orientado a objetos como c++ precisa de cierta explicacion previa antes de meterse en desarrollos
serios, y para aprenderlo que mejor que programar ejemplos.
Peter era un campesino que se empeño en convertirse en paladin de c++, para desfacer entuertos y para llevar la
virtud a los lugares mas sacrilegos de la programacion. No fue facil, y sus experiencias se cuentan aqui. Este
diario es por tanto un conjunto de ejemplos de codigo glosados por el ahora caballero Peter Class.
Atencion: este tutorial no contiene ni una sola linea de codigo util. Simplemente es un conjunto de ejemplos
ultrasimplones que tratan de mostrar la sintaxis cd c++. Puede ser util como referencia rapida, sobre todo si da
pereza mirar en los tipicos libros de c++ de 900 paginas. Si, esos mismos libros que en la pagina 200 todavia
estan con las estructuras de control; pero no dire nombres <-- estoy pensando en Deitel, pero openjade ocultara
esto jeje --> Doh!
1
Capítulo 2. Hola nena
Bueno, vamos a ver si en 21 dias se va creando codigo c++ y se puede aprender este lenguaje de forma ordenada.
Se esta probando este codigo con gcc. Hoy es el dia uno e incluyo el cÃ3digo mas simple posible.
/**
* HolaNena.cpp
* Codigo iniciatico que simplemente muestra el mensaje estandar HolaNena de nano
*
* Pello Xabier Altadill Izura
*
* Compilado: g++ HolaNena.cpp -o HolaNena
*/
using namespace std;
#include <iostream>
int main () {
// Sacamos por salida estandar un mensaje
cout << "HolaNena!\n";
return 0;
}
Aqui otro codigo de ejemplo.
/**
* Test.cpp
* Programa del ejemplo simple, para saber que es lo que hace ejecutalo
*
*
* Compilado: g++ Test.cpp -o Test
*/
using namespace std;
#include <iostream>
int main() {
int x = 5;
int y = 7;
cout << "\n";
cout << x + y << " " << x * y;
cout << "\n";
return 0;
}
2
Capítulo 3. Funciones
Vamos a ver como se declaran las funciones en c++. No tiene ningun misterio, es igual que en c. Siempre hay
que especificar el tipo de retorno.
/**
* Funcion.cpp
* Programa con llamada a una funcion
*
* Pello Xabier Altadill Izura
*
* Compilado: g++ Funcion.cpp -o Funcion
*/
using namespace std;
#include <iostream>
// Funcion: llamada
int llamada (int x, int y) {
cout << "Estamos en la funcion!!" << endl;
return (x+y);
}
int main() {
// Estos comentarios son propios de C++
cout << "Vamos a llamar a la funcion.." << endl;
// Llamamos a la funcion
// Llamamos a una funcion y asignamos
int z = llamada(5,7);
cout << "Resultado:" << z << endl;
// Llamada desde el output
cout << "Resultado:" << llamada(6,7) << endl;
cout << "Programa terminado \n" << endl;
return 0;
}
Atencion, en este caso veremos como recoger datos de stdin o entrada estandar.
/**
* Funcion3.cpp
* Programa con llamada a una funcion
* El programa principal recoge datos de la entrada estandar
*
* Pello Xabier Altadill Izura
*
* Compilado: g++ Funcion3.cpp -o Funcion3
*/
using namespace std;
#include <iostream>
3
// Funcion: llamada
int llamada (int x, int y) {
cout << "Estamos en la funcion!!" << endl;
return (x+y);
}
int main() {
// Estos comentarios son propios de C++
cout << "Vamos a llamar a la funcion.." << endl;
// Llamamos a la funcion
// Llamamos a una funcion y asignamos
int z = 0, x = 0, y = 0;
// Recogemos los parametros
cout << "Dame el primer parametro:";
cin >> x;
cout << "\nOK!\nDame el segundo parametro:";
cin >> y;
cout << "\nOK vamos a calcular.";
// Efectuamos la funcion.
z = llamada(x,y);
// Mostramos el resultado
cout << "Resultado:" << z << endl;
// Llamada desde el output
cout << "Resultado:" << llamada(6,7) << endl;
cout << "Programa terminado \n" << endl;
return 0;
}
Facil no?
Capítulo 3. Funciones
4
Capítulo 4. Tipos de datos
Los tipos de datos de c++ no varian mucho respecto a c y son bastante evidentes, tal y como se puede apreciar en
este codigo.
/**
* Tipos.cpp
* Programa para sacar el tamaño de cada tipo de datos
* Pello Xabier Altadill Izura
*
* Compilado: g++ Tipos.cpp -o Tipos
*/
using namespace std;
#include <iostream>
int main () {
// Sacamos el tamaño de cada tipo
cout << "El tamaño del int es:\t\t" << sizeof(int) << " bytes.\n";
cout << "El tamaño del short es:\t" << sizeof(short) << " bytes.\n";
cout << "El tamaño del long es:\t" << sizeof(long) << " bytes.\n";
cout << "El tamaño del char es:\t\t" << sizeof(char) << " bytes.\n";
cout << "El tamaño del float es:\t\t" << sizeof(float) << " bytes.\n";
cout << "El tamaño del double es:\t" << sizeof(double) << " bytes.\n";
// Sacamos por salida standar un mensaje
cout << "Termino el programa\n";
return 0;
}
Tambien se pueden definir constantes:
/**
* Constante.cpp
* Programa en el que definimos un valor constante
* Pello Xabier Altadill Izura
*
* Compilado: g++ Constante.cpp -o Constante
*/
using namespace std;
#include <iostream>
#define MEMOLA 25
int main () {
int y = 0;
// Definimos el valor constante
const float PI = 3.1416;
5
Capítulo 4. Tipos de datos
cout << "Ten fe en el caos: " << PI << endl;
// Sacamos por salida standar un mensaje
cout << "\nTermino el programa : " << MEMOLA << endl;
return 0;
}
Tabla 4-1. Tipos basicos de datos
Tipo
void
char
int
Comentarios de: Tutorial de C++ o el diario de Peter Class (0)
No hay comentarios