您的位置:首页 > 其它

基类与派生类,类派生列表说明符,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;保护>公有)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: