在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在C++中,类的继承方式有三种:public、protected、private。 文字解释:public: 私有属性不可继承,其他各种权限保持不变,和父类相同。 protected:私有属性不可继承,其他属性更改为protected,类内可访问,类外不可访问。 private: 私有属性不可继承,其他属性更改为private,类内可访问,类外不可访问,不允许子类继承。
图解:代码解释:// 面向对象继承的方式.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> using namespace std; class Father { public: int a; protected: int b; private: int c; }; class Son1 :public Father { public: void show() { cout << a << endl; // 公有成员可以继承,属性不变 public cout << b << endl; // 保护成员可以继承,属性不变 protected //cout << money << endl; // 私有成员不可继承,不能访问 } }; class Son2 :protected Father { public: void show() { cout << a << endl; // 公有属性可以继承,属性改为protected 类内可以访问 cout << b << endl; // 保护属性可以继承,属性保持不变,仍然是 protected //cout << money << endl; // 私有成员不可继承 } }; class Son3 :private Father { public: void show() { cout << a << endl; // 公有属性可以继承,属性改为private,类内可以访问 cout << b << endl; // 保护属性可以继承,属性改为private,类内可以访问 //cout<< c << endl; // 私有成员不可继承 } }; void test01() { Son1 son1; son1.a = 0; // 公有属性仍为public // son1.b 保护属性类外不可访问 // son1.c 私有属性类外不可访问 son1.show(); } void test02() { Son2 son2; // son2.a // 公有改保护,类外不可访问 // son2.b // 保护不改变,类外不可访问 // son2.c // 私有不继承,一直不可访问 son2.show(); // 公有函数可以打印保护成员 } void test03() { Son3 son3; // 所有非私有成员全部转为私有,外部不可访问 son3.show(); } int main() { }
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论