一道编程类笔试题

#include <iostream>
using namespace std;

一道编程类笔试题

  class A    
  {  
  protected:
  int m_data;
  public:    
  A(int data = 0){m_data = data;     }
  int GetData(){return doGetData();}
  virtual   int   doGetData(){  return m_data;}    
  };    
   
  class B:public   A    
  {    
    protected:
  int m_data;
  public:    
  B(int data = 1){m_data = data;     }    
   
  int doGetData(){  return m_data;}    
  }; 

  class C:public B
    {    
    protected:
  int m_data;
  public:    
  C(int data = 2){m_data = data;     }   
  };

 

int main()
{
C c(10);

cout<<ata()<<endl;
cout<<c.A::GetData()<<endl;
cout<<c.B::GetData()<<endl;
cout<<c.C::GetData()<<endl;
cout<<tData()<<endl;
cout<<c.A::doGetData()<<endl;
cout<<c.B::doGetData()<<endl;
cout<<c.C::doGetData()<<endl;

system("PAUSE");

return 0;
}

///////////////////////////////////////////////////////
运行的结果是
1
1
1
1
1
0
1
1