实例1:公有继承(publicI/学生类定义classStudent:publicPerson广private:intNumber;I/学号public:void Register(char*name, int age, char sex, int num);voidShowStu();1:15
15 实例1:公有继承(public) class Student : public Person //学生类定义 { private: int Number; //学号 public: void Register(char *name, int age, char sex, int num) ; void ShowStu(); };
实例1:公有继承(public)---相当于I/学生类定义classStudent:publicPerson1private:int Number;I/学号* protected:Ⅱ姓名charName[10];1性别*charSex;public:void.Register(char*name,int age,char sex,int num);void ShowStu();I* void Register(char*name,int age, char sex) ;void ShowMeO);*7;16
16 实例1:公有继承(public)-相当于 class Student : public Person //学生类定义 { private: int Number; //学号 /* protected: char Name[10]; //姓名 char Sex; //性别 */ public: void Register(char *name, int age, char sex, int num) ; void ShowStu(); /* void Register(char *name, int age, char sex) ; void ShowMe(); */ };
8例11-1演示公有继承中派生类对基类成员的访问classPersonchar Name[20]; char Sex; int Age;public:voidRegister(char*name, int age, char sexYstrcpy(Name,name);Age= age;Sex = (sex =='m'?'m':'f);人void ShowMe( )[cout << Name <<"lt' << Age <<"lt' << Sex << endl;}7;17
17 例11-1 演示公有继承中 派生类对基类成员的访问 class Person { char Name[20]; char Sex; int Age; public: void Register(char *name, int age, char sex) { strcpy(Name, name); Age = age; Sex = (sex == 'm'?'m':'f'); } void ShowMe( ) {cout << Name << '\t' << Age << '\t' << Sex << endl;} };
公有继承classStudent:publicPersonint Number;charClassName[10]public:void SShowStu()cout << Number <<"t'<< ClassName <<"t'ShowMe();直接使用基类的公有成员18
18 公有继承 class Student : public Person { int Number; char ClassName[10]; public: void ShowStu() { cout << Number << '\t' << ClassName << '\t'; ShowMe( ); //直接使用基类的公有成员 }
void RegisterStu (char *classname, int numberchar *name, int age, char sex)strcpy(ClassName,classname);Number = number;Register(name, age, sex);/直接使用基类的公有成员人19
19 void RegisterStu (char *classname, int number, char *name, int age, char sex) { strcpy(ClassName, classname); Number = number; Register(name, age, sex); //直接使用基类的公有成员 } };