Derived class can't see parent class properly
<p>I'm seeing two problems in a setup like this:</p>

<pre><code>namespace ns1
    {
     class ParentClass
     {
      protected:
       void callback();
     };
    }

    namespace ns1
    {
     namespace ns2
     {
      class ChildClass : public ParentClass
      {
        public:
        void method()
        {
         registerCallback(&amp;ParentClass::callback);
        }
      };
     }
    }
</code></pre>

<ol>
<li>ChildClass::method() gives a compile error: "<em>'ns1::ParentClass::callback' : cannot access protected member declared in class 'ns1::ParentClass'</em>"</li>
<li><code>ParentClass *pObj = new ChildClass()</code> gives an error, that it can't do the conversion without a cast. C++ can down-cast happily, no?</li>
</ol>
