博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
protect,public,private 的区别
阅读量:6136 次
发布时间:2019-06-21

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

 
简单介绍一下  protect,public,private 的区别,更详细的随后不上。 欢迎纠错~
 
以C++为例:
 
public:  数据成员和函数成员可在成员函数,友元,继承类中直接使用。亦可以作为接口,供类的用户使用(即 A a,
a.change())。
 
private:  数据成员和函数成员,只能在  类成员和友元 中访问。不能被继承类访问(无论何种继承),虽然作为继承
类的私有成员,但 在 使用过程中,是通过调用基类的构造函数 完成参数的传递的。继承类不能访问基类的私有成员。
 
protect:  在基类中用法同private,基类对象不能访问。在派生类中,用法同基类的public, 其成员可被其继承类对象访问使用。
 
class Base{    private:    int age;protect:    int num;}class Devi : public Base{}Base b;  Devi d;b.num=3;   //errord.num = 3; //ok
继承类的用户 在使用从基类继承的成员时,不仅取决于基类在定义时的访问标号(私有,公有等),还取决
于自身对基类的继承方式。同时,继承类 只能让访问权限越小。
 
同时,注意区分类的接口继承与实现继承的区别。
接口继承,即类的用户可以直接通过“.”或“->”对函数成员进行调用。
实现继承,即在类的成员函数定义过程中,对数据成员访问权限的继承。
 
注意区分 类成员与类用户的区别。
类成员包括 数据成员和函数成员,讲的是类的实现。
类用户指 类的对象,讲的是对接口的使用。 通过,对象通过 ".",指向对象的指针通过“->”。
 
Class A{public:   A(string& Name = "lihao",int Age = 21)   {}   virtual void print()const;private :   string name;   int age;}void A::print()const{   cout<
<
<
<
 
 

 

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

你可能感兴趣的文章
php小知识
查看>>
Windows下安装、运行Lua
查看>>
Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解(二)
查看>>
初识中间件之消息队列
查看>>
MyBatis学习总结(三)——优化MyBatis配置文件中的配置
查看>>
Spring常用注解
查看>>
我的友情链接
查看>>
PCS子层有什么用?
查看>>
查看端口,关闭端口
查看>>
代码托管平台简介
查看>>
linux:yum和apt-get的区别
查看>>
Sentinel 1.5.0 正式发布,引入 Reactive 支持
查看>>
如何对网站进行归档
查看>>
数据库之MySQL
查看>>
2019/1/15 批量删除数据库相关数据
查看>>
数据类型的一些方法
查看>>
Mindjet MindManager 2019使用教程:
查看>>
游戏设计的基本构成要素有哪些?
查看>>
详解 CSS 绝对定位
查看>>
AOP
查看>>