函数的覆盖、重载、隐藏

本文探讨了C++中虚函数的概念及其如何实现多态性。通过具体例子对比了函数覆盖与函数隐藏的区别,解释了如何正确使用虚函数来达到预期的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

class animal
{
public:
   virtual void breathe()
   {
    cout<<"animal breathe"<<endl;
   }
};
class fish:public animal
{
public:
   void breathe()
   {
   cout<<"fish bubble"<<endl;

   }

};

    派生类中的breach()函数和基类的breach()函数的函数名和参数列表都完全一样,子类的函数重写了基类中的函数,这成为函数的覆盖。发生函数覆盖的条件为:

一.基类函数为虚函数。(用virtual关键字声明的的函数)

二.必须发生在基类和派生类中。

三.函数名和参数列表必须完全一样。

    如果基类的函数不是虚函数,即没有用关键字virtual声明,如下程序:

class animal
{
public:
   void breathe()
   {
    cout<<"animal breathe"<<endl;
   }
};
class fish:public animal
{
public:
   void breathe()
   {
   cout<<"fish bubble"<<endl;

   }

};

    这种情况成为函数的隐藏。在派生类中隐藏了基类的同名函数。如果派生类的函数与基类的函数名字一样,参数不一样,不管基类函数有没有virtual关键字,基类函数都将被隐藏。这种情况与函数重载相似,重载发生在同一个类中。

    如果函数名和参数完全一样,只有在基类函数没有virtual关键字函数的情况下才会发生隐藏。

总结:函数的覆盖是发生在派生类与基类之间,两个函数必须完全相同,并且都是虚函数。如果不属于这种情况就是函数的隐藏。

   一个覆盖和隐藏的例子:

#include <iostream.h>
class Base
{
public:
  virtual void xfn(int i)
  {
   cout<<"Base::xfn(int i)"<<endl;
  }

  void yfn(float f)
  {
   cout<<"Base::yfn(float f)"<<endl;
  }

  void zfn()
  {
   cout<<"Base::zfn()"<<endl;
  }
};

class Derived : public Base
{
public:
  void xfn(int i) //覆盖了基类的xfn函数
  {
   cout<<"Drived::xfn(int i)"<<endl;
  }

  void yfn(int c) //隐藏了基类的yfn函数
  {
   cout<<"Drived::yfn(int c)"<<endl;
  }

  void zfn() //隐藏了基类的zfn函数
  {
   cout<<"Drived::zfn()"<<endl;
  }
};


void main()
{
   Derived d;

   Base *pB=&d;
   Derived *pD=&d;

   pB->xfn(5);
   pD->xfn(5);

   pB->yfn(3.14f);
   pD->yfn(3.14f);

   pB->zfn();
   pD->zfn();
}



内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值