私有继承: 当私有继承时, 基类的公有和保护成员变成派生类的私有成员, 私有成员不可直接访问
- #include <iostream>
- using namespace std;
- class info {
- public:
- void setter(int a, int b) {
- num = a;
- age = b;
- }
- void pri(void) {
- cout << num << endl;
- cout << age << endl;
- }
- protected:
- int num;
- private:
- int age;
- };
- class infoj :private info{
- public:
- void infoj_pri(int a,int b) {
- setter(a, b);
- pri();
- }
- protected:
- int num;
- private:
- int age;
- };
- int main(void)
- {
- infoj info1;
- /* info1.setter(1,2); 看! 从基类继承过来的公有成员, 存储在自己的 private
- 同理也是, 通过 infoj_pri 间接访问基类的公有成员
- */
- info1.infoj_pri(66, 77); // 由于继承过来基类公有的放在派生类私有, 则可以通过派生类公有间接访问!
- system("pause");
- return 0;
- }
笔记
来源: http://www.bubuko.com/infodetail-3159209.html