C++继承关系中同名函数调用顺序

来源:互联网 发布:五子棋网络对战 编辑:程序博客网 时间:2024/06/07 06:29

前言:

C++ 基础不扎实,现在补。

环境: vs2010


示例代码

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 + 10);}   // 同名函数};  class C: public B  {  protected:  int m_data;  public:  C(int data = 2)  {  m_data = data; }int doGetData()  {  return (m_data * 10);  }  // 同名函数};  int _tmain(int argc, _TCHAR* argv[]){C c(10);  cout << c.GetData() << endl; return 0;}

最后的结果:

100


调用类函数,现在本类中查找,找不到再一层一层向上找!

0 0