¡Nuevo!  por fin disponible la versión 5 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.

Curso C++

[Home]  [Inicio]  [Índice]

4.1.2 Declaraciones y definiciones: detalles y ejemplos


En realidad, el Estándar C++ establece que una declaración es una definición a menos que:

  • declare una función sin declarar el cuerpo de la misma.
  • contenga el especificador extern ( 4.1.8d)
  • contenga un especificador de tipo de enlazado.
  • declare una propiedad estática dentro del cuerpo de una clase ( 4.11.7).
  • sea la declaración de un nombre de clase
  • sea la declaración de un typedef ( 3.2.1a)
  • sea una directiva using ( 4.1.11c), o una declaración using ( 4.1.11c)
Ejemplos:

Las siguientes sentencias son definiciones:

int a;                       // define a

extern const int c = 1;      // define c
int f(int x) { return x+a; } // define f y x
struct S { int a; int b; };  // define S, S::a, y S::b
struct X {                   // define X
  int x;                     // define el miembro x
  static int y;              // declara el miembro estático y
  X(): x(0) { }              // define un constructor de X
};
int X::y = 1;                // define X::y
enum { up, down };           // define up y down
namespace N { int d; }       // define N y N::d
namespace N1 = N;            // define N1
X anX;                       // define anX

Las siguientes son declaraciones:

extern int a;                // declara a
extern const int c;          // declara c
int f(int);                  // declara f
struct S;                    // declara S
typedef int Int;             // declara Int
extern X otroX;              // declara otroX
using N::d;                  // declara N::d