首页 > 解决方案 > 为什么我的继承方法输出基类的成员而不是派生类的成员

问题描述

我正在尝试从继承爸爸的 print_age() 方法的妈妈类中打印成员“年龄”,但它正在从爸爸的类中打印成员“年龄”

#include <iostream>
#include <string>

using namespace std;

int main()
{

  class Dad
  {
  protected:
    int age = 59;

  public:
    void print_age() { cout << age << endl; }
  };

  class Mum : public Dad
  {
  protected:
    int age = 54;
  };

  Mum m;
  m.print_age();
}

当我希望它输出54时,它输出59

标签: c++inheritancedatamember

解决方案


从 调用该函数Dad。里面Dad,Dad的年龄将是输出。


推荐阅读