实验五
part 3
#ifndef MACHINEPETS_H #define MACHINEPETS_H #include <string> using namespace std; class machinepets{ public: machinepets(const string s); string getNickname() const; virtual string talk()=0; private: string nickname; }; #endif
#include "machinepets.h" #include<string> using namespace std; class petcats : public machinepets { public: petcats(const string s); string talk(); }; #endif
#ifndef PETDOGS_H #define PETDOGS_H #include "machinepets.h" #include<string> using namespace std; class petdogs : public machinepets { public: petdogs(const string s); string talk(); }; #endif
#include "machinepets.h" #include <string> using namespace std; machinepets::machinepets(const string s):nickname(s){} string machinepets::getNickname()const{ return nickname; }
#include "petcats.h" #include "petdogs.h" #include <iostream> #include "machinepets.h" using namespace std; void play(machinepets *p){ cout<<p->getNickname()<<ends<<"says"<<ends<<p->talk()<<endl; } int main(){ petcats cat("miku"); petdogs dog("da hunag"); play(&cat); play(&dog); system ("pause"); return 0; }
#include "petcats.h" #include <iostream> using namespace std; petcats::petcats(const string s):machinepets(s){} string petcats::talk(){ return "miao wu~"; }
#include "petdogs.h" #include <iostream> using namespace std; petdogs::petdogs(const string s):machinepets(s){} string petdogs::talk(){ return "wang wang~"; }

小结:
在main.cpp结尾不能忘记加上system ("pause"),否则程序会直接结束。
https://www.cnblogs.com/nnn13579/p/10922062.html
https://www.cnblogs.com/jiyuanxiangzhouziying/p/10964745.html
https://www.cnblogs.com/mxueyyqx/p/10963449.html

浙公网安备 33010602011771号