三种类的访问权限与继承方式 public protected private derive
来源:互联网 发布:国内erp软件排名 编辑:程序博客网 时间:2024/05/17 06:47
首先对于非派生的情况:
类 访问 自身的公有成员、保护成员、私有成员,都是OK的。
类对象 访问 自身的公有成员是OK的。
类对象 访问 自身的保护成员是error的。
类对象 访问 自身的私有成员是error的。
然后对于派生的情况:
一、公有继承方式(最常用):
public基类成员保持自己public访问级别,成为派生类的public成员。
protected基类成员保持自己的protected访问级别,成为派生类的protected成员。
private基类成员依然是基类自己的private成员,派生类是无法访问的。
二、私有继承方式:
public基类成员成为派生类的private成员。
protected基类成员成为派生类的private成员。
private基类成员依然是基类自己的private成员,派生类是无法访问的。
三、保护继承方式:
public基类成员成为派生类的protected成员。
protected基类成员保持成为派生类的protected成员。
private基类成员依然是基类自己的private成员,派生类是无法访问的。
- #include<iostream>
- using namespace std;
- class base{
- public:
- base():base_pub(1),base_pro(2),base_pri(3) {}
- int base_pub;
- protected:
- int base_pro;
- private:
- int base_pri;
- public:
- int use_mypub() { return base_pub; }
- int use_myro() { return base_pro; }
- int use_mypri() { return base_pri; }
- };
- class pub_derive : public base {
- public:
- int use_base_pub()
- {
- return base_pub;
- }
- int use_base_pro()
- {
- return base_pro;
- }
- int use_base_pri()
- {
- return 1;//base_pri; //error
- }
- pub_derive():base() {}
- };
- class pro_derive : protected base {
- public:
- int use_base_pub()
- {
- return base_pub;
- }
- int use_base_pro()
- {
- return base_pro;
- }
- int use_base_pri()
- {
- return 1; //base_pri; //error
- }
- pro_derive():base() {}
- };
- class pri_derive : private base {
- public:
- int use_base_pub()
- {
- return base_pub;
- }
- int use_base_pro()
- {
- return base_pro;
- }
- int use_base_pri()
- {
- return 1 ;//base_pri; //error
- }
- pri_derive():base() {}
- };
- int main()
- {
- int a;
- base b;
- pub_derive pubd;
- pri_derive prid;
- pro_derive prod;
- //类自身的访问权限
- b.use_mypub(); //类 访问 自身的公有成员 ok
- b.use_myro(); //类 访问 自身的保护成员 ok
- b.use_mypri(); //类 访问 自身的私有成员 ok
- a = b.base_pub; //类对象 访问 自身的公有成员 ok
- //a = b.base_pro; //类对象 访问 自身的保护成员 error
- //a = b.base_pri; //类对象 访问 自身的私有成员 error
- //公有继承类的访问权限
- pubd.use_base_pub(); //公有继承类 访问 基类的公有成员 ok
- pubd.use_base_pro(); //公有继承类 访问 基类的保护成员 ok
- //pubd.use_base_pri(); //公用继承类 访问 基类的私有成员 error
- a = pubd.base_pub; //公有继承类对象 访问 基类的公有成员 ok
- //a = pubd.base_pro; //公有继承类对象 访问 基类的保护成员 error
- //a = pubd.base_pri; //公有继承类对象 访问 基类的私有成员 error
- //保护继承类的访问权限
- prod.use_base_pub(); //保护继承类 访问 基类的公有成员 ok
- prod.use_base_pro(); //保护继承类 访问 基类的保护成员 ok
- prod.use_base_pri(); //保护继承类 访问 基类的私有成员 error
- //a = prod.base_pub; //保护继承类对象 访问 基类的公有成员 error
- //a = prod.base_pro; //保护继承类对象 访问 基类的保护成员 error
- //a = prod.base_pri; //保护继承类对象 访问 基类的私有成员 error
- //私有继承类的访问权限
- prid.use_base_pub(); //私有继承类 访问 基类的公有成员 ok
- prid.use_base_pro(); //私有继承类 访问 基类的保护成员 ok
- prid.use_base_pri(); //私有继承类 访问 基类的私有成员 error
- //a = prid.base_pub; // 私有继承类对象 访问 基类的公有成员 error
- //a = prid.base_pro; // 私有继承类对象 访问 基类的保护成员 error
- //a = prid.base_pri; // 私有继承类对象 访问 基类的私有成员 error
- cout<<"OK"<<endl;
- return 1;
- }
- 三种类的访问权限与继承方式 public protected private derive
- public,private,protected的区别,继承方法与访问权限
- C++中的public、protected与private的类成员权限设置和继承方式
- C++的三种继承机制以及继承机制对三种访问权限(public, protected, private)的影响
- private,protected,public的访问权限
- JAVA的public,private,protected访问权限
- public,protected,default ,private的访问权限
- 公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。
- 公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。
- public、protected和private访问权限以及继承问题
- public protected private继承访问权限—C++
- C++之public、private、protected(一)派生类继承与访问权限详解
- php5中public,private,protected 三种类属性的区别
- public、private、protected三者访问权限解析
- C++三种继承方式public、protected、private
- OC学习中关于@private@protected@pakege@public的访问权限和继承问题
- java 访问权限private,默认(默认包权限),protected(继承访问权限),public的个人理解
- C++ public,protected,private继承与访问限制
- 常用端口对照详解
- 本周安排2013年10月21日
- unity3d游戏开发,让TextAsset支持中文字符
- Linux 常用C函数(中文版)
- VISUAL C++ 网络与通讯
- 三种类的访问权限与继承方式 public protected private derive
- iOS多线程的初步研究(五)-- 如何让NSURLConnection在子线程中运行
- SAP系统三层架构
- Android系统drawable浅谈
- 程序员遇到bug时常见的30种反应
- USB协议分析——包格式
- VISUAL C++ 数据库开发-高级篇
- 初识Hibernate——关系映射
- iOS多线程的初步研究(六)-- NSOperation