Disponible la nueva versión "donationware" 7.3 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