Tengo una clase que debe declararse globalmente desde main() y se accede desde otras clases declaradas en el programa, ¿cómo hago eso?C++: ¿Declarar una clase global y acceder a ella desde otras clases?
class A{
int i;
int value(){ return i;}
};
class B{
global A a; //or extern??
int calc(){
return a.value()+10;
}
}
main(){
global A a;
B b;
cout<<b.calc();
}
Supongo que el patrón de diseño de singelton es un buen punto para comenzar con http://stackoverflow.com/questions/1008019/c-singleton-design-pattern –
@Artem: [Singletons: Cómo resolver problemas que nunca supo que nunca tenía desde 1995] (http://jalf.dk/blog/2010/03/singletons-solving-problems-you-didnt-know-younever-had-since-1995/) –
@Artem - para enfatizar lo que @ gf dice - ¡no hagas esto! El estado global hace que el código sea imposible de componer y esté estrechamente acoplado. Esto es malo, entre otras razones, porque hace que sea virtualmente imposible de probar. Además, casi todas las implementaciones de singleton que he visto no eran seguras para hilos de ninguna manera sutil y desagradable que no notara hasta que su código se ejecuta en una CPU con un modelo de memoria débil. – Stewart