实验5

一、

 1 #ifndef MACHINEPETS_H
 2 #define MACHINEPETS_H
 3 #include<iostream>
 4 #include<string>
 5 using namespace std;
 6 class MachinePets
 7 {
 8 public:
 9     MachinePets(const string s) :nickname(s) {}
10     virtual string talk()=0;
11     string getnickname();
12 private:
13     string nickname;
14 
15 };
16 #endif // !MACHINEPETS_H
 1 #ifndef PETDOGS_H
 2 #define PETDOGS_H
 3 #include<iostream>
 4 #include"MachinePets.h"
 5 using namespace std;
 6 #include<string>
 7 class PetDogs :public MachinePets
 8 {
 9 public:
10     PetDogs(const string s) :MachinePets(s) {}
11     string talk() { return " wang wang~"; }
12 };
13 #endif 
14 #pragma once
 1 #ifndef PETCATS_H
 2 #define PETCATS_H
 3 #include<iostream>
 4 #include"MachinePets.h"
 5 using namespace std;
 6 #include<string>
 7 class PetCats:public MachinePets
 8 {
 9 public:
10     PetCats(const string s):MachinePets(s){}
11     string talk() { return  " miao wu ~"; } 
12 };
13 #endif
1 #include"MachinePets.h"
2 #include<iostream>
3 #include<string>
4 using namespace std;
5 string MachinePets::getnickname()
6 {
7     return nickname;
8 }
 1 #include"MachinePets.h"
 2 #include"PetCats.h"
 3 #include"PetDogs.h"
 4 #include<iostream>
 5 #include<string>
 6 void play(MachinePets *t)
 7 {
 8     cout<<t->getnickname()<<" says"<<t->talk() << endl;
 9 }
10 using namespace std;
11 int main()
12 {
13         PetCats cat("miku");
14         PetDogs dog("da huang"); 
15         play(&cat); // 按照play()形参,传递参数
16         play(&dog); // 按照play()形参,传递参数
17         return 0;
18 }

 

 

 

 

 

 

 

 

 

二、

游戏选做

1、#ifndef _CONTATNER

2、numOfHeal--;

4、void  showinfo(player &p1, player &p2);

5、public player

这道题没运行出来。。。所以我不确定的我也不写出来了,以免贻笑大方。

 

 

第一题不是很难,默认函数初始化还是在函数首部直接实现比较好。

插入音频文件暂时。。。还没成功。

虚函数既可以用return,也可以定义成员函数的时候定义它。好像跟friend一样不用再写virtual。

 

转载于:https://www.cnblogs.com/0122Frank/p/10963507.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值