11.4派生类成员的访问属性 ()基类的成员函数访问基类成员。 (2)派生类的成员函数访问派生类增加的成员。 (③)基类的成员函数访问派生类的成员。不能 (4)派生类的成员函数访问基类的成员。 (⑤)在派生类外访问派生类的成员。 (6)在派生类外访问基类的成员。 017年4月26日星期 第11章继承与派生 HOME 12 12时16分23秒 BACK NEXT
HOME2017年4月26日星期 三12时16分23秒 第11章 继承与派生 12 (1) 基类的成员函数访问基类成员。 (2) 派生类的成员函数访问派生类增加的成员。 (3) 基类的成员函数访问派生类的成员。//不能 (4) 派生类的成员函数访问基类的成员。 (5) 在派生类外访问派生类的成员。 (6) 在派生类外访问基类的成员
要考虑基类成员的访问属性和派生类的继承方式。 (1)公用继承(public inheritance) 基类的公用成员和保护成员在派生类中保持原有属 性,其私有成员仍为基类私有。 (2)私有继承(private inheritance) 基类的公用成员和保护成员在派生类中成了私有成 员,其私有成员仍为基类私有。 (3) 受保护的继承(protected inheritance) 基类的公用成员和保护成员在派生类中成了保护成 员,其私有成员仍为基类私有。 017年4月26日星期 第11章继承与派生 HOME 12时16分23秒 BACK NEX
HOME2017年4月26日星期 三12时16分23秒 第11章 继承与派生 13 要考虑基类成员的访问属性和派生类的继承方式。 (1) 公用继承(public inheritance) 基类的公用成员和保护成员在派生类中保持原有属 性,其私有成员仍为基类私有。 (2) 私有继承(private inheritance) 基类的公用成员和保护成员在派生类中成了私有成 员,其私有成员仍为基类私有。 (3) 受保护的继承(protected inheritance) 基类的公用成员和保护成员在派生类中成了保护成 员,其私有成员仍为基类私有
11.4.1公用继承(public inheritance) 用公用继承方式建立的派生类称为公用派生类 (public derived class);其基类称为公用基类 (public base class) 采用公用继承方式时,基类的公用成员和保护 成员在派生类中仍然保持原有属性; 而基类的私有成员在派生类中成为派生类中的 不可访问的成员 017年4月26日星期 第11章继承与派生 HOME 12时16分23秒 BACK NEXT
HOME2017年4月26日星期 三12时16分23秒 第11章 继承与派生 14 用公用继承方式建立的派生类称为公用派生类 (public derived class);其基类称为公用基类 (public base class)。 采用公用继承方式时,基类的公用成员和保护 成员在派生类中仍然保持原有属性; 而基类的私有成员在派生类中成为派生类中的 不可访问的成员
Public inherit Accessing attribute of public and protected member in basic class will keep invariable in derived class. Member functions of derived class can directly a access the public and protected member of basic class,but can't access the private member of basic class. The objects of derived class are only able to access the public member of basic class. 2017年4月26日星期 第11章继承与派生 15 H0画2时16分23秒 BACK NEXT
HOME2017年4月26日星期 三12时16分23秒 第11章 继承与派生 15 • Accessing attribute of public and protected member in basic class will keep invariable in derived class. • Member functions of derived class can directly access the public and protected member of basic class, but can’t access the private member of basic class. • The objects of derived class are only able to access the public member of basic class
例11.1访问公有基类的成员 #include <iostream> #include <string> using namespace std; Class Student /声明基类 { public: /基类公用成员 void get value() cin>>num>>name>>sex; void display() { cout<<"num:"<<num<<endl; cout<<"name:"<<name<<endl; cout<<"sex:"<<sex<<endl; } private /基类私有成员 int num; string name; char sex; 2017年4月26日星期 第11章继承与派生 16 0雪2时16分24秒 BACK NEXT
HOME2017年4月26日星期 三12时16分24秒 第11章 继承与派生 16 #include <iostream> #include <string> using namespace std; Class Student //声明基类 { public: //基类公用成员 void get_value( ) { cin>>num>>name>>sex;} void display( ) { cout<<" num: "<<num<<endl; cout<<" name: "<<name<<endl; cout<<" sex: "<<sex<<endl; } private : //基类私有成员 int num; string name; char sex; };