I'm writing a utility application in a procedural object-oriented style by building modules as storage classes.
Using the following approach:
class A
{
    public:
       static int foo;
};
class B
{
    public:
       static A bar;
};
class C
{
    public:
       A bar;
};
What is the difference between the behavior of classes B and C?
Edit: What differs in the life-time of storage class A when declared static in class B as to when declared non-static in class C?
 
     
    