-
protect 可以被本类成员函数访问,但不能在本类外其他函数中直接调用(即通过外部对象来访问),只有 public 可以。在本类外其他函数中要调用原先类 protect 成员的时候可以通过在这个函数中调用原来类的成员函数,通过原来类成员函数访问其 protect 成员的方式在本类外函数中间接的访问到原来类的 protect 成员<br>
有继承关系时,子类中的成员函数也不能访问父类的 private 下的成员。因为通过 public 继承,父类中的 private 成员虽能继承到子类当中,却无法直接使用,访问 private 下的成员要通过 父类public 下的 set() ,get()方法访问。
总结起来就是 protect 以及 private 成员只能被本类的成员函数直接调用,而不能在本类外的其他函数中通过实例化直接被调用,而 public 因为是共有的,因此可以在任何地方被直接调用,涉及到继承的时候, private 不能被继承到子类的 private 下,也就不能被子类的成员函数调用,但是 protect 可以被调用到子类的 protect 下,因此可以被子类的成员函数访问到,


查看全部 -
protected在没有继承时和private基本一样
公有继承:
基类成员 继承方式 派生类成员
private | | 无法访问
protected | public |protected
public | |public
查看全部 -
发生关系的两个类必须具有超集和子集的概念关系<br>
继承之后 只需要在子集中写出特有的部分
派生类(子类) 基类(父类)class 派生类:public 基类
{
派生类特有的内容:
};查看全部 -
解决多个文件重定义问题
#ifndef XXX
#define XXX
#endif
查看全部 -
私有继承关系
查看全部 -
protected继承关系
查看全部 -
继承关系和访问方式
查看全部 -
多继承构造函数执行顺序与类的继承声明(h)一致,与类的实现(cpp)中初始化列表顺序无关。
查看全部 -
关于三种参数传递的区别:
test1(Person p) test2(Person &p) test3(Person *p)
传递参数时,引用和地址改的是本身,对象是新建一个对象,用完就销毁。
查看全部 -
多重继承一家子,祖孙三代
多继承的父类没有直接关系,写法多一个逗号
查看全部 -
<>搜索程序默认库
“”搜索程序当前目录。
查看全部 -
父子关系 成员同名 隐藏
访问父类同名用子类.父类::成员函数
通过与访问成员变量来看,父类就是多了一个
父类::
查看全部 -
private和protected的区别在于一个全在protected下,一个全在private下,即谁在谁下。
查看全部 -
public在继承中的权限
查看全部 -
三种权限的访问属性
查看全部
举报