标签:play span 图片 none 纯虚函数 传递参数 fine 练习 传递
1 #ifndef PET_H 2 #define PET_H 3 #include<string> 4 using namespace std; 5 class MachinePets{ 6 public: 7 MachinePets(const string s="nameless"); 8 virtual string talk()=0; 9 string getNickname(); 10 private: 11 string nickname; 12 }; 13 class PetCats:public MachinePets{ 14 public: 15 PetCats(const string s); 16 string talk(); 17 }; 18 19 class PetDogs:public MachinePets{ 20 public: 21 PetDogs(const string s); 22 string talk(); 23 }; 24 #endif // PET_H_INCLUDED
#include <iostream> #include <string> using namespace std; #include "pet.h" #include <stdlib.h> MachinePets::MachinePets(string s/*="nameless"*/):nickname(s){} string MachinePets::getNickname(){ return nickname; } PetCats::PetCats(const string s):MachinePets(s){ } string PetCats::talk(){ return "meow~"; } PetDogs::PetDogs(const string s):MachinePets(s){} string PetDogs::talk(){ return "rao~"; } void play(MachinePets * pet){ cout<<pet->getNickname()<<‘ ‘<<"says"<<‘ ‘<<pet->talk()<<endl; } int main() { PetCats cat("xiro neko"); PetDogs dog("dogmeat"); play(&cat); // 按照play()形参,传递参数 play(&dog); // 按照play()形参,传递参数 return 0; }
rpg游戏---等写完了再补充上面去(咕咕咕)
总结
注意基类中成员函数有无关键字virtual,访问的成员分别是什么。
标签:play span 图片 none 纯虚函数 传递参数 fine 练习 传递
原文地址:https://www.cnblogs.com/laboratory-X/p/10976986.html