基类与派生类,类派生列表说明符,public,protected,private的作用
2017-08-21 16:37
337 查看
以什么方式继承基类的共有数据成员;例:
#include<iostream> using namespace std; class A{ int n; static int sn; protected: int np; static int sn2; public: static int sn3; int a; }; class B:private A{ int f(){ //return n; //这个使错误的,提示已定义,不可访问 return np;//可访问protected成员。 } }; class C :public B{ int b(){ //return sn3;//错误,不可访问。 //return a; //同上 } }; int main(){ //A::sn = 0;//错误,不可访问 //A *b=new B;//当B private继承A时,此处错误提示,不允许对不可访问的基类A进行类型转换,public就没问题 B a; //a.a = 0;//错误提示,不可访问 A::sn3=0; return 0; }
总结
首先回顾一下三种成员访问限定符(包括静态成员):public(公用的):既可以被本类中的成员函数所引用,也可以被类的作用域内的其他函数(即类外)引用。
private(私有的):只能被本类中的成员函数引用,类外不能调用(友元类除外)
protected(受保护的):不能被类外访问,但可以在派生类的成员函数访问。
接下来就用一张表总结一下基类成员在派生类中的访问属性:
可以这么简单的认为:
1、凡是基类中私有的,派生类都不可访问。
2、基类中除了私有的成员,在派生类中的访问属性总是 以安全性高{ 继承方式,基类的访问属性 } 的方式呈现。(安全性级别:私有&g
4000
t;保护>公有)
相关文章推荐
- 继承中访问控制:派生类public、protected、private继承基类
- Private私有派生或Protected保护派生时,如何让基类的方法在派生类外面可用
- C++中三种不同的继承方式(public、protected、private)的基类特性和派生类特性
- c++派生类转换为基类与public、protected、private继承的关系
- C++中public,protected,private派生类继承问题和访问权限问题
- 作用域public,private,protected,以及不写时的区别
- public,private,protected,internal作用
- 关于java作用域(public,private,protected,default)
- C++ public protected private 说明
- public、private、protected、Friendly的区别与作用域
- 关于C#中的几个访问修饰符的说明private,public,protected...
- java作用域public ,private ,protected 及不写时的区别
- java中作用域public,private,protected以及不写时的区别
- public、protected、default、private作用域
- java中 private default protected 和 public的作用范围
- java作用域public ,private ,protected 及不写时的区别
- java作用域public ,private ,protected 及不写时的区别
- 存取说明符:private, protected, public, published, automated
- 修饰符public,private,protected作用域范围
- private,public,protected 的作用