zoukankan      html  css  js  c++  java
  • 实验五 类的继承、派生和多态(2)

    一、验证性实验

    1. 在多层继承中,派生类中出现与基类同名成员时,通过对象名.成员名的方式,访问的成员什么? 

          对象名.成员名:派生类对象

    2. 通过基类指针访问派生类对象时,基类中成员函数有无关键字virtual,访问的成员分别是什么? 

           基类指针:有关键字时访问派生类,无关键字访问基类对象

    二、编程练习

    1、设计并实现一个机器宠物类MachinePets

    #include<iostream>
    #include<string>
    using namespace std;
    
    class MachinePets{
        public:
            MachinePets(const string s):nickname(s){}
            string getNickname() const{return nickname;}
            virtual string talk(){return 0;}
        private:
            string nickname;            
    };
    
    class PetCats:public MachinePets{
        public:
            PetCats(const string s):MachinePets(s){}
            string talk(){return "miao wu~";}
    };
    
    class PetDogs:public MachinePets{
        public:
            PetDogs(const string s):MachinePets(s){}
            string talk(){return "wang wang~";}
    };
    
    void play(MachinePets *p){
        cout<<p->getNickname()<<" says "<<p->talk()<<endl;
    }
    
    int main(){
        PetCats cat("miku");
        PetDogs dog("da huang");
        
        play(&cat);
        play(&dog);
        
        return 0;
    }
    MachinePets

    效果如下:

    2、 简单RPG游戏补足与丰富

    1--- #ifndef _CONTATNER

    2--- numOfHeal--;

    3--- bag.set(p.bag.nOfHeal()+bag.nOfHeal(), p.bag.nOfMW()+bag.nOfMW());

           p.bag.set(0,0);

    4--- void showinfo(player &p1,player &p2)

    5--- public player

    6--- enemy.isLevelUp();

    7--- human->isLevelUp();

    效果如下:

    三、实验小结

    • PetDogs(const string s):MachinePets(s){}   MachinePets中的一段代码,想了很久,虽然在上次实验中有相似的操作
    • 补充的代码有误?尚未体会到RPG中虚函数的应用。

    四、实验评论

    1. https://www.cnblogs.com/xuexinyu/p/10961971.html#4272140
    2. https://www.cnblogs.com/wjh1022/p/10957581.html#4272113
    3. https://www.cnblogs.com/jessi-wu1005/p/10961379.html#4272110
  • 相关阅读:
    php 原生 好久不写原生demo了
    鸡汤
    php 发送smtp邮件
    php微信支付代码
    3、Flume
    P2761 软件补丁问题
    TQL
    二分图匹配
    p2597 灾难
    P3958 奶酪
  • 原文地址:https://www.cnblogs.com/zuiyankh/p/10963016.html
Copyright © 2011-2022 走看看