LingNing
#include
#include
using namespace std;
class Person
{
public:
// Person(int a, int b, string c,string d) :n_Age(a), n_ID(b), NameInDaytime(c),NameInMidtime(d) {};
virtual void Getup() {};
virtual void Sleep() {};
virtual void Eat() {};
virtual void DaylifeInDaytime() {};
virtual void DaylifeInMidtime() {};
void ProcedureInDaytime()
{
Getup();
Eat();
DaylifeInDaytime();
}
void ProcedureInMidtime()
{
Eat();
DaylifeInMidtime();
Sleep();
}
void GetAge()
{
cout << this->Name <NameInDaytime << "终于舍得起床了" << endl;
cout << "_________________________" << endl;
}
virtual void Eat()
{
cout << this->NameInDaytime << "早餐:一瓶牛奶,牛肉包子" << endl;
cout << this->NameInDaytime << "午餐:不吃肉不能活" << endl;
cout << this->NameInDaytime << "晚餐:不吃肉不能活" << endl;
cout << this->NameInDaytime << "夜宵:不吃肉不能活" << endl;
cout << "_________________________" << endl;
}
virtual void DaylifeInDaytime()
{
cout << "_________________________" << endl;
cout << this->NameInDaytime << "在写代码" << endl;
cout << this->NameInDaytime << "在学脑残物理" << endl;
cout << this->NameInDaytime << "在做脑残物理实验" << endl;
cout << this->NameInDaytime << "在做脑残环境实验" << endl;
cout << this->NameInDaytime << "在吃好吃的零食" << endl;
cout << this->NameInDaytime << "在健身房跑步" << endl;
}
};
class Midnight:public Person
{
public:
virtual void Eat()
{
cout << this->NameInMidtime << "在吃泡面" << endl;
cout << "_________________________" << endl;
}
virtual void DaylifeInMidtime()
{
cout << this->NameInMidtime << "在敲代码" << endl;
cout << this->NameInMidtime << "在熬夜" << endl;
cout << this->NameInMidtime << "在刷快手" << endl;
cout << this->NameInMidtime << "在玩手机" << endl;
cout << "_________________________" << endl;
}
virtual void Sleep()
{
cout << this->NameInMidtime << "终于舍得睡觉了" << endl;
cout << "_________________________" << endl;
}
};
void test1()
{
Person* p = new Daytime;
p->GetAge();
p->n_ID = 2020065310;
p->NameInDaytime = "大聪明";
p->ProcedureInDaytime();
}
void test2()
{
Person* p = new Midnight;
p->GetAge();
p->n_ID = 2020065310;
p->NameInMidtime = "大傻子";
p->ProcedureInMidtime();
}
int main()
{
test1();
test2();
return 0;
}