C++继承:公有、私有、保护
来源:互联网 发布:手机淘宝改价格怎么改 编辑:程序博客网 时间:2024/04/28 23:25
C++继承:公有、私有、保护:
公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。
1. 公有继承(public)
公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。
2. 私有继承(private)
私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。
3. 保护继承(protected)
保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。
三种继承方式的定义模式为:
1. 公有继承:Class A: public B
2. 私有继承:Class A: private B
3. 保护继承:Class A: protect B
A为派生类(父类),B为基类(子类)
下面的例子很详细地阐述了上述内容:
class A //父类{private: int privatedateA;protected: int protecteddateA;public: int publicdateA;};//----------------------------------------------------------------class B :public A //基类A的派生类B(共有继承){public: void funct() { int b; b=privatedateA; //Error:基类中私有成员在派生类中是不可见的 b=protecteddateA; //OK:基类的保护成员在派生类中为保护成员 b=publicdateA; //OK:基类的公共成员在派生类中为公共成员 }};//------------------------------------------------------------------class C :private A //基类A的派生类C(私有继承){public: void funct() { int c; c=privatedateA; //Error:基类中私有成员在派生类中是不可见的 c=protecteddateA; //OK:基类的保护成员在派生类中为私有成员 c=publicdateA; //OK:基类的公共成员在派生类中为私有成员 }};//-------------------------------------------------------------------class D :protected A //基类A的派生类D(保护继承){public: void funct() { int d; d=privatedateA; //Error:基类中私有成员在派生类中是不可见的 d=protecteddateA; //OK:基类的保护成员在派生类中为保护成员 d=publicdateA; //OK:基类的公共成员在派生类中为保护成员 }};
0 0
- c++:私有继承,公有继承,保护继承
- C++:公有继承、私有继承和保护继承
- C++ 私有、保护、公有继承
- C++ 私有、保护、公有继承
- C++继承:公有,私有,保护
- C++继承:公有,私有,保护
- C++继承:公有、私有、保护
- C++继承:公有,私有,保护
- C++继承:公有,私有,保护
- C++继承:公有,私有,保护
- C++继承:公有,私有,保护
- C++继承:公有,私有,保护
- C++继承:公有,私有,保护
- C++继承:公有,私有,保护
- C++继承:公有,私有,保护
- C++继承:公有,私有,保护
- C++继承:公有,私有,保护
- C++继承:公有,私有,保护
- GNU计划
- C#常用函数表
- 顺序表应用3:元素位置互换之移位算法
- 开始虚拟外场
- HashMap源代码分析
- C++继承:公有、私有、保护
- 测试总结
- 全局路径规划和局部路径规划的区别
- 动态顺序表的C++版本
- c++上机实验(二)
- Dcloud开发webApp踩过的坑
- 一个支持 cgi 的简易 http 服务器
- LeetCode: 524. Longest Word in Dictionary through Deleting
- poj 3683 Priest John's Busiest Day(2—sat)