Capítulo I: Aspectos básicos de C++

El programa más básico: la función main()

Un programa es un conjunto organizado de operaciones realizadas sobre unos datos, pero ¿alguna ha de ser la primera, no?.
En C++, un texto puede tener numerosas líneas de código, y la primera no es necesariamente la primera que haya escrita, la primera instrucción ejecutable está en la función main [lo cual es obvio para un inglés, pues main significa principal en español ].

Práctica 1:
En Anjuta, crea un proyecto nuevo, selecciona un programa C++ genérico, y como nombre practica1.

Obtendrás algo como esto (versión Anjuta 2.4.1):


/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
/*
 * main.cc
 * Copyright (C) J++++++++ 2008 <j+++++@ff.com>
 *
 * main.cc is free software: you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the
 * Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * main.cc is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <iostream>

int main()
{
    std::cout << "Hello world!" << std::endl;
    return 0;
}

Observa que la función main está al final del documento.

Si construimos el proyecto (mayúscula+F11), compilamos (F9) y ejecutamos (F3) por terminal, obtendremos el clásico Hello world!, es el primer programa que suelen enseñar en cualquier lenguaje de programación.
salida programaObserva que la salida del programa se produce entre las dos líneas discontinuas. Esto no ocurre en un terminal normal.

También nos informa Anjuta que el programa ha concluido con éxito (errcode = 0).Pero para nosotros es demasiado complejo, tratemos de simplificarlo al máximo.

Editemos el código para que se quede con una sola instrucción:

int main(){}
Compilamos, ejecutamos en terminal de Anjuta y ...

...vemos simplemente las dos líneas discontinuas. Obviamente nuestro programa no hace nada, pero no da error, ni en la compilación, ni en la ejecución.

¿Podemos hacer un programa más sencillo?

Aparentemente, sí. Podemos escribir solo

main (){}pero, en la práctica es igual a la anterior, que a la vez es igual a
int main() { return 0;}
ya que C++ asume algunas cuestiones por defecto.
(Prueba que las formas sin paréntesis  [main {}]o sin corchetes [ main()] dan distintos errores)


Programas complejos: la directiva #include
Indice