实验五

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
machinepets.h
#include "machinepets.h"
#include<string>
using namespace std;
class petcats : public machinepets {
public:
    petcats(const string s);
    string talk();

};

#endif
petcats.h
#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
petdogs.h
#include "machinepets.h"
#include <string>
using namespace std;
machinepets::machinepets(const string s):nickname(s){}
string machinepets::getNickname()const{
    return nickname;
}
machinepets.cpp
#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;
}
main.cpp
#include "petcats.h"
#include <iostream>
using namespace std;
petcats::petcats(const string s):machinepets(s){}
string petcats::talk(){
    return "miao wu~";
}
petcats.cpp
#include "petdogs.h"
#include <iostream>
using namespace std;
petdogs::petdogs(const string s):machinepets(s){}
string petdogs::talk(){
    return "wang wang~";
}
petdogs.cpp

小结:

在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

 

posted @ 2019-05-29 21:14  senility  阅读(115)  评论(1)    收藏  举报