Definiciones | |
| #define | ADH_port_h |
| Evita la inclusión múltiple. | |
| #define | OPEN_namespace(N) namespace N { |
Abre namespace "N". | |
| #define | CLOSE_namespace(N) } |
Cierra namespace "N". | |
| #define | USING_namespace(N) using namespace N |
Usa namespace "N". | |
Este archivo de encabezado permite compilar los programas de adolfo@di-mare.com usando cualquiera de estos compiladores:
"namespace" "namespace", los programas están escritos usando estas macros, que sirven para iniciar, usar y terminar un "namespace":OPEN_namespace(N) // namespace N { USING_namespace(N) // using namespace N CLOSE_namespace(N) // } // namespace N
"#include" ".h". Por ejemplo, para usar un flujo de entrada, el programador debe incluir estas líneas: # include <iostream.h> // con ".h" # include <iostream> // SIN ".h"
Para incluir el archivo de encabezado correcto es necesario establecer cuál compilador se está usando. Para evitar usar varias directivas # ifdef, se puede definir una macro que indica cuál archivos de encabezado incluir. No todos los encabezados estándar están incorporados aquí, pero sí los más usados. Por ejemplo, para usar el archvio de encabadezdos <iostream> basta incluir en el código fuente la definición de este macro:
# define INCLUDE_iostream
using namespace std; ".h" de los encabezados estándar [por ejemplo, cambiar <iostream.h> por <iostream>]".h" cuando se usan archivos de encabezado de la biblioteca estándar C [por ejemplo, cambiar <stdlib.h> por <cstdlib>]
"bool" "namespace" Algunos ejemplos C++ son sólo puedes ser expresado correctamente usando el lenguaje C++ moderno, est ndar. Pero muchos otros no requieren tanta expresividad por lo que pueden ser compilados con BC++ v3.1. Para lograrlo es necesario usar.
#ifndef String_h #define String_h // Evita la inclusión múltiple #define INCLUDE_iostream // ==> # include <iostream> #include "ADH_port.h" OPEN_namespace(ADH) USING_namespace(std); // es necesario agregar el punto y coma class String{ // ... }; CLOSE_namespace(ADH) USING_namespace(ADH); // es necesario agregar el ";" ADH::String& operator<<( std::ostream COUT&; ADH::String& s); #endif // String_h
#ifndef String_h #define String_h // Evita la inclusión múltiple #include <iostream.h> #include "ADH_port.h" // namespace ADH { // ==> eliminado ; // using namespace std // ==> eliminado class String{ // ... }; // } ==> eliminado // using namespace ADH; // ==> eliminado // ADH && std ==> eliminado ::String& operator<<( ::ostream COUT&; ::String& s); #endif // String_h
#ifndef String_h #define String_h // Evita la inclusión múltiple #include <iostream> // sin ".h" #include "ADH_port.h" using namespace std; // Agregado en "ADH_port.h" namespace ADH { using namespace std; class String{ // ... }; } // namespace ADH using namespace ADH; ADH::String& operator<<( std::ostream COUT&; ADH::String& s); #endif // String_h
|
|
Evita la inclusión múltiple.
|
|
|
Abre namespace
|
|
|
Cierra namespace
|
|
|
Usa namespace
|
1.4.1