C++笔记——类的继承和访问控制
来源:互联网 发布:厦门小青柑普茶淘宝 编辑:程序博客网 时间:2024/06/14 23:34
C++中类的继承的语法如下:
首先定义一个基类(父类),然后定义派生类(子类)继承基类,语法如下
class 派生类名:访问控制符基类名
访问控制符包括以下三种:
1>public:修饰的成员变量或方法,在类的内部和类的外部都能被访问
2>protected:修饰的成员变量或方法,只能在类的内部或者继承的子类中访问,不能在类的外部访问
3>private:修饰的成员变量或方法,只能在类的内部访问,不能在类的外部访问
直接贴代码看:
#include <iostream>using namespace std;class Parent{public:int a;void print(){cout << "Parent a = " << a << endl;}};class Child:public Parent //访问控制符为public,继承基类的属性和方法{public:int b;};int main(void){Child c1;c1.a = 10;c1.print();return 0;}运行结果如下:
首先,基类Parent的内部定义了public的属性a和方法print,派生类通过public访问控制符继承基类的属性和方法,那么继承下来的父类属性和方法可以在类的内部和外部都能访问,所以在main函数中对a赋值,并且print出a的值。
下面用protected访问控制符继承基类,再看看结果:
class Child:protected Parent{public:int b;};int main(void){Child c1;c1.a = 10; //errorc1.print(); //errorreturn 0;}由于,派生类通过protected继承基类的public属性和方法,这时只能在基类的内部或者派生类的内部访问,而不能在类的外部访问,所以上面的c1.a=10,和c1.print()就会编译不通过,报如下错误:
类似的private访问控制符也类似。
C++中类的继承方式列出如下图:
1>派生类public继承下来基类的属性和方法,属性保持不变
2>派生类protected继承下来基类的属性和方法,public和protected变为protected,private的还是private类型
3>派生类private继承袭来基类的属性和方法,都是private的。
C++类的继承方式(public、protected、private)会影响子类的对外访问属性
要判断一句话能否被访问:
1>看调用语句是写在子类的内部还是外部
2>看子类如何从父类继承(public、protected、private)
3>看父类中的属性和方法的访问级别(public、protected、private)
- C++笔记——类的继承和访问控制
- 类的继承和访问控制
- 【c/c++】继承的访问控制
- PHP的类和对象(四)访问控制和继承
- C++ 公有继承、保护继承和私有继承中类成员的访问权限的控制
- C++ 公有继承、保护继承和私有继承中类成员的访问权限的控制
- C++ 公有继承、保护继承和私有继承中类成员的访问权限的控制
- C++ 公有继承、保护继承和私有继承中类成员的访问权限的控制
- 类的控制访问和继承,只讨论易错点
- C++类的继承和派生,访问控制
- java的访问控制和继承
- 继承的访问控制
- 【足迹C++primer】53、访问控制和继承
- Java笔记(五) 继承和访问控制
- 类的继承与访问控制
- c++类的访问控制与继承
- C++访问控制和继承
- c++控制访问和继承
- 关于nsdata的压缩的问题base64,图片转字符串,图片的压缩的问题
- 多线程开发之NSOperation
- Linux文件及目录命名规则
- 通过aidl实现传送远程服务中的对象
- Http相关 --概念
- C++笔记——类的继承和访问控制
- MFC从资源文件获取png图片
- 递归:分治法与动态规划
- online_judge_1151
- 【杭电】[5499]SDOI
- Linux下tomcat的安装配置
- 图---Floyd
- 算法设计题2.34~2.36-线性表-第2章-《数据结构习题集》-严蔚敏吴伟民版
- 树及二叉树