博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ 访问控制 public, protected, private, 友元
阅读量:7206 次
发布时间:2019-06-29

本文共 927 字,大约阅读时间需要 3 分钟。

1. 变量属性与继承之间的关系

#include 
using namespace std;class A {public: int x;protected: int y;private: int z;};class B : public A { // x is public // y is protected // z is not accessible from B};class C : protected A { // x is protected // y is protected // z is not accessible from C};class D : private A { // x is private // y is private // z is not accessible from D};

  

2. 可见性

Only members/friends of a class can see private inheritance and only members/friends of derived class can see protected inheritance

protected member provides enhanced access for derived classes

private member keep implementation details

 

3. private 成员不能直接访问, 但是可以间接的通过函数的调用进行访问. 无论是哪种形式的继承, 基类的变量都会被子类继承下来, 所不同的仅是有些变量不可访问, 即 not accessible

 

4. 友元. 一个类友元(包括友元函数或友元类的所有成员函数) 可以访问该类的任何成员( 包括成员变量和成员方法)

 

5. 除去上面所说的几条内容, 有一种技术叫做 member spy(类成员间谍), 通过该技术, 派生类可以将基类的 protected 成员修改成 public 权限, 这种技术用到了 using 关键字

 

 

转载地址:http://kfoum.baihongyu.com/

你可能感兴趣的文章
Common Pitfalls In Machine Learning Projects
查看>>
Android内存泄漏分析及调试
查看>>
todoing
查看>>
[Cocos2d-x]Cocos2d-x 3.2 学习笔记
查看>>
进程调度
查看>>
使用代码为TextView设置drawableLeft
查看>>
Android开发(十八)——头部、中部、底部布局技巧
查看>>
Egret 集成第三方库 记录
查看>>
同源策略——浏览器安全卫士
查看>>
c/c++ 基金会(七) 功能覆盖,虚函数,纯虚函数控制
查看>>
CodeForces 484B Maximum Value
查看>>
strong vs copy
查看>>
Codeforces Round #313 (Div. 1) C. Gerald and Giant Chess DP
查看>>
基于jQuery商城网站全屏图片切换代码
查看>>
Android开发之注解式框架ButterKnife在ADT中的设置
查看>>
JAVA学习篇--Java类加载
查看>>
如何清空android ListView控件的内容
查看>>
配置SELINUX
查看>>
EF里一对一、一对多、多对多关系的配置和级联删除
查看>>
linux svn启动和关闭(转)
查看>>