zoukankan      html  css  js  c++  java
  • c++隐藏实例

    隐藏:是指派生类的函数屏蔽了与其同名的基类函数,规则如下:
    (1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。

         很简单略去
    (2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)。

     1 #include <iostream>
     2 using namespace std;
     3 class Animal
     4 {
     5     public:
     6             
     7       virtual    void cry(const char *sz)                //如果不加virtual那么本应该调用子类的函数,调用父类了 
     8         {
     9             cout<<sz<<"animal "<<endl;
    10         }
    11         
    12 };
    13 class Bird:public Animal
    14 {
    15     public:
    16     
    17     void cry(const char *sz)
    18       {
    19         cout<<sz<<"bird "<<endl;
    20       }    
    21 };
    22 int main(int argc, char *argv[])
    23 {        
    24     Bird bd;
    25     Animal *ani=&bd ;
    26     ani->cry("hello ");
    27     return 0;
    28 }

    运行结果如下:

  • 相关阅读:
    怎么写好组件
    你所不知道的 URL
    响应式Web设计 – 布局
    ajax请求总是不成功?浏览器的同源策略和跨域问题详解
    滑屏 H5 开发实践九问
    UVALive
    [CQOI2018] 破解D-H协议
    [CQOI2018] 解锁屏幕
    HDU
    CodeChef
  • 原文地址:https://www.cnblogs.com/codeblock/p/4451336.html
Copyright © 2011-2022 走看看