Primer Programa en C++

Primer Programa en C++

En este programa simple se emplea un objeto que es muy común en C++, el objeto stream (flujo) para imprimir un mensaje en pantalla.
#include <iostream>

El paquete iostream define una variable (un objeto) llamado cout de forma automática que es capaz de enviar todo tipo de datos a la salida estándar.
El operador << esta sobrecargado en C++ (por lo que no significa el desplazamiento a la izquierda únicamente como en C) y significa algo así como “enviar a”.
cout << “Que tal todos?”;

  • Espacio de Nombres
C++ incluye la posibilidad de agrupar y separar funcionalidades de diferentes fuentes, y con esto evitarnos problemas de usar un mismo nombre en una función o variable.
Para esto se agrego la palabra reservada namespace. Cada conjunto de definiciones de una libreria o programa se <<envuelve>> en un espacio de nombres y si otra definición tiene el mismo nombre, entonces no se produce colisión.

using namespaces std;
Es la directiva que indica al compilador que se utilizara el espacio de nombres indicado, como en este caso el estándar (que utilizan librerías comunes como iostream).

  • Fundamentos de la estructura en C++

Una definición de función consiste en un valor de retorno (que debe estar especificado obligatoriamente en C++), un nombre de función, una lista de argumentos y el código de la función encerrado en llaves.

int funcion(){
//Código de la función
}

En C++ main() siempre devuelve un valor tipo int (entero).
C y C++ son lenguajes de formato libre. Con un par de excepciones, el compilador ignora los espacios en blanco y los saltos de linea, por lo que que hay que determinar el final de una sentencia con ; (punto y coma).

<<Ejemplo HolaMundo.cpp>>
#include <iostream>
using namespace std;

int main(){
cout << “Hola Mundo!!! Hoy es ”
<< 7 << “ de octubre. By Aero”
<< endl;
}

Una vez que tengamos el código en un archivo de texto plano con extensión cpp (por ejemplo Hola.cpp) es momento de compilarlo.
En el caso del compilador GNU C++ (que es distribuido libre y gratuitamente por internet) solo debemos teclear en la consola:
g++ Hola.cpp
Esto nos devolverá cualquier error en la sintaxis del programa, en caso contrario termina el proceso y ejecutamos el resultado. En Linux se ejecuta tecleando ./a.out y en Windows solo debemos escribir a.exe y observar los resultados.

  • Más sobre iostream.

A continuación veremos algunas de las propiedades con las que se cuenta al mostrar informacion en la pantalla.

Manipuladores: No imprimen nada en pantalla, pero cambien el estado del flujo de salida.

<< dec << 8 //muestra en la pantalla el valor en decimal
<< oct << 89 //Devuelve el valor octal del numero
<< hex << 12 //Hexadecimal
<< char(20) //devuelve el carecter correspondiente al numero indicado.

Concatenar vectores de carácter: El precompilador concatena cadenas de la forma:

cout << “Hola esta cadena es “
“demasiada larga para estar en”
“ una sola fila”;

Leer entrada de teclado: En C++ esto se realiza de una manera muy sencilla con el objeto cin, y solo debemos indicar la variable a la que enviaremos el resultado de la entrada por teclado y limitamos el tipo de dato que esperamos del usuario.

int number;
cin >> number;

Introducción a las cadenas

La clase string es un objeto de C++ diseñado para que se encargue y oculte las manipulaciones de bajo nivel que antes tenia que realizar el programador en C.
Gracias a la sobrecarga de operaciones la sintaxis del uso de las cadenas es muy intuitiva:
#include <string>
#include <iostream>

int main(){
string s1, s2;
string s3 = “Hola mundo”;
s2 = “Today”;
s1 = s3 + “ “ + s4;
cout << s1 + s2 << endl;
}


Lectura y Escritura de Ficheros

En C++ la librería que se utiliza para ficheros es fstream, aunque eso implica la inclusión automática de iostream, es prudente incluirla si se piensa utilizar cin o cout.
Para la lectura de un archivo se utiliza el objeto ifstream. Para un de escritura, se utiliza ofstream. Estos se comportan como cin y cout respectivamente.
Código de copia de ficheros en C++.

#include <string>
#include <fstream>
using namespace std;

int main(){
ifstream in('file.txt');
ofstream out('filecopied.txt')
string s;
while(getline(in, s))
out << s << “\n”;
}

Vectores

En C++ se ah implementado una librería de contenedores (lo cual es un tema un tanto mas avanzado) que nos permite el objeto Vector. Este objeto permite tener una lista de cualquier tipo no delimitada que incrementa su tamaño dinámicamente. Esto nos permite ir agregando y recuperando elementos sin tener que saber de antemano con cuantos de ellos trabajaremos.

#include <string>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

int main(){
vector<string> v;
ifstream in('file.cpp');
string s;
while(getline(in, s))
v.push_back(s);
for(int i=0; i<v.size; i++)
cout << i << “: ” << v[i] << endl;
}

Capitulo 3 (Lenguaje C y C++)

Este capitulo contiene un extenso material sobre cuestiones basicas de C y algunas implementaciones sobre C++ por lo que solo comentare 2 cuestiones que me parecen de interes para esta publicacion, si tu aun no conoces bien el lenguaje C es recomendable que leas bien este capitulo entero.

  • Paso por referencia.

Void f(int& r){ //el caracter & indica el paso por referencia sin utilizar punteros
r=5;
}

int main(){
int x=3;
f(x); //paso por referencia
}

  • Definición de Variables al Vuelo.

C++ permite definir variables en cualquier citio dentro de un ambito({}), de modo que se puede declarar una variable justo antes de usarla.

0 comentarios: