zoukankan      html  css  js  c++  java
  • 多态(C++)

    #include <iostream>
    using namespace std;
    
    class HeroFighter
    {
    public:
        virtual    int power()
        {
          return 10;
        }
    };
    
    class EnemyFighter
    {
    public:
          int attack()
          {
             return 15;
          }
    };
    
    class AdvHeroFighter:public HeroFighter
    {
    public:
        int power()
        {
          return 20;
        }
    };
    
    class AdvHeroFighter2:public HeroFighter
    {
    public:
        int power()
        {
          return 4;
        }
    };
    
    void PlayObj(HeroFighter *hf,EnemyFighter *ef)
    {
        if(hf->power()>ef->attack())
        {
          printf("主角win
    ");
        }
        else
        {
            printf("主角挂了、
    ");
        }
    };
    
    //多态的思想
    //面向对象3大概念
    //封装:突破C函数的概念... 用类做函数参数的时候,可以使用对象的属性和对象的方法
    //继承:A B代码复用
    //多态:可以使用未来。
    
    //多态很重要
    //实现多态的三个条件
    //C语言 间接赋值 是指针存在的最大意义
    //是c语言的特有的现象(1、定义两个变量 2、建立联系 3、*p在被调用函数中去间接修改实参的值)
    
    //1要有继承
    //2要有虚函数重写
    //3、用父类指针(父类引用)指向子类对象
    
    int main()
    {
        HeroFighter hf;
        AdvHeroFighter Advhf;
        EnemyFighter ef;
    
        AdvHeroFighter2 advhf2;
    
        PlayObj(&hf,&ef);
        PlayObj(&Advhf,&ef);
        PlayObj(&advhf2,&ef);
    
    
    }
    void mainqq()
    {
        HeroFighter hf;
        AdvHeroFighter Advhf;
        EnemyFighter ef;
    
        if(hf.power()>ef.attack())
        {
            printf("主角win
    ");
        }
        else
        {
             printf("主角挂了
    ");
        }
    
        if(Advhf.power()>ef.attack())
        {
            printf("adv主角win
    ");
        }
        else
        {
             printf("adv主角挂了
    ");
        }
    
    
    
      cout<<"hello.."<<endl;
    }
  • 相关阅读:
    个人站立会议内容
    NABCD
    12.2
    12.1
    11.21
    11.20
    11.19
    11.18
    11.17
    11.16个人计划
  • 原文地址:https://www.cnblogs.com/GIScore/p/5322431.html
Copyright © 2011-2022 走看看