#include<iostream>
using namespace std;
#include<string>
class Person{
protected:
string name;
private:
bool gender;
public:
void eat(const char* food){cout<<name<<"在吃"<<food<<"."<<endl;}
void sleep();
void show(){cout<<"大家好,我是"<<(gender?"男的":"女的")<<name<<endl;}
Person(const char* name,bool gender):name(name),gender(gender){}
string Name()const{return name;}
};
class Teacher:public Person
{
string course;
public:
void teach(const char* _class){
cout<<name<<"在给"<<_class<<"班讲"<<course<<"课程"<<endl;
}
Teacher(const char* name,bool gender,const char* course):Person(name,gender),course(course){ }
void show(const char* _class)//改写来自父类的成员,隐藏来自父类那个同名成员
{cout<<"同学好"<<course<<"老师在这"<<_class<<endl;}
};
int main()
{
Person a("hehe",false);
Teacher b("heihei",true,"UNIX C");
a.eat("和和");
b.eat("ee");
a.show();
b.show("恩娜");//父类被隐藏 不含参数表会报错
b.teach("3asef");
//cout<<b.name<<endl;保护成员不能在外界访问
cout<<b.Name()<<endl;
b.show("adf");
}
using namespace std;
#include<string>
class Person{
protected:
string name;
private:
bool gender;
public:
void eat(const char* food){cout<<name<<"在吃"<<food<<"."<<endl;}
void sleep();
void show(){cout<<"大家好,我是"<<(gender?"男的":"女的")<<name<<endl;}
Person(const char* name,bool gender):name(name),gender(gender){}
string Name()const{return name;}
};
class Teacher:public Person
{
string course;
public:
void teach(const char* _class){
cout<<name<<"在给"<<_class<<"班讲"<<course<<"课程"<<endl;
}
Teacher(const char* name,bool gender,const char* course):Person(name,gender),course(course){ }
void show(const char* _class)//改写来自父类的成员,隐藏来自父类那个同名成员
{cout<<"同学好"<<course<<"老师在这"<<_class<<endl;}
};
int main()
{
Person a("hehe",false);
Teacher b("heihei",true,"UNIX C");
a.eat("和和");
b.eat("ee");
a.show();
b.show("恩娜");//父类被隐藏 不含参数表会报错
b.teach("3asef");
//cout<<b.name<<endl;保护成员不能在外界访问
cout<<b.Name()<<endl;
b.show("adf");
}