Neue Idee! Bestimmte Programmierclubs mögen die ausgiebige Verwendung von typedefs...
zoo/tiere/typen.h :
namespace zoo
{
namespace animals
{
typedef size_t Count;
// ...
} // namespace animals
} // namespace zoo
zoo/tiere/zebra.h :
#include "zoo/animals/types.h"
namespace zoo
{
namespace animals
{
class Zebra {
public:
typedef Count Count;
Count getLegCount() const;
// ...
}; // class Zebra
} // namespace animals
} // namespace zoo
main.cpp :
#include "zoo/animals/zebra.h"
int main()
{
typedef zoo::animals::Zebra Zebra;
Zebra z;
Zebra::Count n = z.getLegCount();
// Not as zoo::animals::Count
// No using namespace zoo::animals required,
// we are using just one item from there, the Zebra.
// Definition of Zebra::Count may change, your usage remains robust.
return 0;
}
Ich habe gerade eine ähnliche Situation an meinem Arbeitsplatz. Die Übersetzung ist vielleicht ein bisschen albern, aber ich wollte sie schnell präsentieren.