摘要:本文主要向大家介绍了C++语言的三种封装层级,通过具体的内容向大家展示,希望对大家学习C++语言有所帮助。
本文主要向大家介绍了C++语言的三种封装层级,通过具体的内容向大家展示,希望对大家学习C++语言有所帮助。
C++的三种封装层级
我们都知道C++的一个好处是封装,在类中有三个封装层次,也是访问的限制,那我们来探索一下public、protect、private这三个家伙。
在定义类中的访问限制
· public:以下的这些成员和方法公开为外界使用,自身、子类都可以使用
· protect:以下的这些成员和方法只限成员本身和子类进行使用,不对其他开放
· private:以下这些成员和方法只能自己使用,不对外界和子类开放
下面我们上一盘栗子给各位看官吃吃:
//定义一个基类class base {//在内部完全能随便使用public、protect和private三个级别的东西public:
int a;
void af() { cout << a << endl; bf(); cf(); };
protected:
int b;
void bf() { cout << b << endl; af(); cf(); };
private:
int c;
void cf() { cout << c << endl; af(); bf(); };
public:
base():a(1),b(2),c(3) {};
~base() {};
};
class drive :public base {
void fun() {
//public级别的能过使用
cout << a << endl;
af();
//protect级别的也能过使用
cout << b << endl;
bf();
//但private级别的不能使用了,以下两行会报错
cout << c << endl;XXXXXXXXXXXXXX
cf();XXXXXXXXXXXXXXXXXXXXX
}
};
int main() {
base t;
//public级别能在外界调用
cout << t.a << endl;
t.af();
//但protect和private级别的就不能再外界调用了,以下四行会报错
cout << t.b << endl;XXXXXXXXXXX
t.bf();XXXXXXXXXXXX
cout << c << endl;XXXXXXXXXXXXXX
c.cf();XXXXXXXXXXXXXXX
drive d;
//publict继承过来后public级别的能过调用
d.a;
d.af();
//但public继承过来的protect和private就不能调用了
d.b;XXXXXXXXXXXx
d.bf();XXXXXXXXXXx
d.c;XXXXXXXXXXX
d.cf();XXXXXXXXXXXXX
}
下面是封装级的一个整理:
继承中的三个封装级
在不同的继承方式中,父类中的封装级会发生不同的变化,下面是继承中相应的三个封装继承的变化:
简单概括一下就是父类中private级别的封装子类不会继承;public的继承会维持父类原来的public、protect前两者的封装级别,而protect继承前两者都会成为protect,private继承将前两者变成private
本文由职坐标整理并发布,了解更多内容,请关注职坐标编程语言C/C+频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号