【问题标题】:do inherited functions work on base class elements or derived class elements in c++?继承函数是否适用于 C++ 中的基类元素或派生类元素?
【发布时间】:2018-05-24 16:00:28
【问题描述】:

假设我有两个类:

class base
    {
         int hello;
         public:
         base
         {
             hello=5;
         }
         void show()
         {
             cout<<hello;
         }
    };

class derived:public hello
    {
         int hello;
         public:
         derived()
         {
             hello=2;
         }
             show();
    };

现在我想知道它会显示 2 还是 5 ?如果是这样,那为什么以及如何让它反过来呢?

【问题讨论】:

  • 您是否尝试编译并运行代码?
  • 不在电脑自动取款机上,所以无法编译,必须在手机屏幕上全部输入
  • 如果您要问技术问题,您应该坐在可以编译构成问题一部分的代码的计算机前,而不是使用手机。

标签: c++


【解决方案1】:

不,因为您有两个不同且独立的变量helloderived 类中的一个“覆盖”base 类中的那个。

如果你想让它工作,你只需要一个变量。

【讨论】:

    【解决方案2】:

    简短的回答是,公共继承对 is-a 关系建模。派生类是基类。派生类的构造函数会隐式调用基类的构造函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-20
      • 2011-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-03
      • 1970-01-01
      相关资源
      最近更新 更多