title: scope of non-member, non static variables and methods
body: <p><strong>Test.h</strong></p>
  
  <pre><code>class Test
  {
  public:
      Test();
      //some methods
  private:
      int var;
      //some vars
  }
  </code></pre>
  
  <p><strong>Test.cpp</strong></p>
  
  <pre><code>#include "Test.h"
  int a;
  
  void func()
  {
       //some code here
  }
  Test::Test()
  {
       //some code
  }     
  </code></pre>
  
  <p>Variable <code>a</code> and function <code>func()</code> are non-member and non-static.</p>
  
  <p>What is the lifetime of variable <code>a</code> and function <code>func()</code>?</p>
  
  <p>Consider Test class as a part of a shared library. Can other classes of that library access <code>a</code> or <code>func()</code> by resolution operator ?</p>
  
  <p>What is difference between static declaration of variable <code>a</code>/ <code>func()</code> and nonstatic declaration of <code>a</code>/<code>func()</code> ?</p>