Hola.
No me ha quedado del todo claro lo que preguntas. Yo, para crear variables globales en un entorno orientado a objetos puro, lo que hago es meterlas en una clase que las envuelva, de esta manera:
<!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>XCODE </td></tr><tr><td id='XCODE'><!--exc1-->
//
// main.cpp
//
#using <mscorlib.dll>
using namespace System; // String, Console
const int NUM = 10;
// Esta clase envuelve las variables globales
__gc public class Globales
{
public:
static double numero; // Un número en coma flotante.
static Double matriz __gc[]; // Un array de flotantes.
// Constructor estático que inicializa el array.
static Globales()
{
matriz = __gc new Double[NUM];
}
};
void main()
{
Console::WriteLine("Acceso a variables globales:");
Globales::numero = 2.4;
Console::WriteLine(String::Concat("numero: ", Globales::numero.ToString()));
for (int i=0; i<NUM; i++)
{
Globales::matriz[i] = i*12.34;
}
Console::WriteLine("matriz:");
for (int i=0; i<NUM; i++)
{
Console::WriteLine(String::Concat(String::Concat(" ", i.ToString()), (Globales::matriz[i]).ToString()));
}
Console::ReadLine();
}
<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->
Espero que te sirva de ayuda.
Un saludo.
Ruben3d