基类protected能被子类直接调用
来源:互联网 发布:大连淘宝美工 编辑:程序博客网 时间:2024/05/11 06:32
公有继承不改变基类成员的属性,也就是说基类的protected成员在子类中还是protected属性。
而类的对象是不能访问protected成员的,但类的成员函数是能访问protected成员的。
所以,基类的成员函数能调用自己的protected成员(其对象不能),子类的成员函数也能调用基类的protected成员(其对象不能)
class A{public: A(int x,int y):x(x),y(y){}protected: void print() {cout<<"x point:"<<x<<endl<<"y point:"<<y<<endl;}private: int x; int y;};class B:public A{public: B(int x,int y,int z):A(x,y),z(z){} void output() {print();cout<<"z point:"<<z<<endl;}//此处调用了基类的protected成员print(),这是合法的。private: int z;};int main(){ A a(2,3); B b(4,5,6); //a.print();//这是不合法的,基类对象不能调用保护属性成员 //b.print();//不合法 b.output(); //调用public成员,合法;该成员函数内部调用了保护成员print() return 0;}
综上:保护成员在对于类对象来说访问权限和私有成员一样,但是对于子类来说,子类能访问基类保护成员,但不能访问基类私有成员。
0 0
- 基类protected能被子类直接调用
- 基类的protected成员变量只能被子类继承,在基类之外都不能直接访问基类protected成员变量
- 私有成员能被子类继承吗?
- 私有对象能被子类继承吗
- 调用被子类重写的方法
- java 私有的成员能被子类继承吗?
- 私有的成员能被子类继承吗?
- JAVA中私有属性private能被子类继承吗?
- java父类调用被子类重写的方法
- 父类构造器调用被子类重写的方法
- Java之调用被子类重载的方法
- 父类的私有成员变量能被子类继承吗?
- 被子
- JAVA笔试题总结3:父类构造器调用被子类重写方法
- 父类构造函数调用被子类重写的方法——要避免!
- 不要在构造函数中调用以后会被子类重写的方法
- 创建子类对象时,父类构造函数中调用被子类重写的方法为什么调用的是子类的方法,而被子类重载的方法不会调用?
- 创建子类对象时,父类构造函数中调用被子类重写的方法为什么调用的是子类的方法,而被子类重载的方法不会调用?
- javascript DOM技术常用操作
- Linux下用netstat命令查看网络负载状况
- 新人菜鸟JAVA学习历程一:基本概念的理解(一)
- 技术人生:故事之十一非要共享文件和磁盘空间?
- UITableView中Cell重用机制导致内容重复解决方法
- 基类protected能被子类直接调用
- Androdi端DES字符串对称加密
- socket非阻塞connect
- 使用反射获取当前new的对象的 带泛型的父类的 类型
- 二维数组
- POJ1845 Sumdiv A^B的约数和(逆元解法或二分乘法)
- 用NetBeans编写计算器
- 技术人生:故事之十二INTERNET/INTRANET!
- 黑马程序员_编写程序,获取两个字符串中最大相同子串