关于C++的class中的public,protected,private;

不要给我把概念说一遍,告诉我什么情况公开,什么情况私有,还有他们有什么区别等等:越详细越好~... 不要给我把概念说一遍,告诉我什么情况公开,什么情况私有,还有他们有什么区别等等:越详细越好~ 展开
 我来答
匿名用户
推荐于2018-05-07
展开全部
要给“别人”使用的变量和函数就用public
只给自己使用的变量和函数就用private
protected。。。这个只能说概念了。。。就是想要允许他的子类直接访问,就用protected。

其实,你只需要记住,在设计过程中,先把所有的设置为private。然后再来慢慢分析是否需要修改为另外两种。例如你写一个类用来在屏幕上画一个矩形,那肯定要有一个draw函数是public的,要不然别人或者类之外的代码没法用你这个类来画图,对吧?但是呢,你的draw函数,为了多方面的原因,并不是在draw里面把所有图形都画完了,你可能想要写一个画边框draw_frame和一个填充这个框架的函数叫做fill。然后draw函数就掉用这两个函数来实现画图的功能。那么假设你又想设计一个类专门画一种特殊边框的矩形,那你是不是就要派生一个类出来呢?于是,这个派生的类里面,你想要调用原来那个父类的fill函数来填充,对吧?因为你这个派生类只是边框的画法不同,填充方法还是相同的,没必要重新写一下fill的代码噻,所以你就把fill改为protected,这样子类也可以直接调用了。
于是,三种类型的基本用法我就讲完了。。。
匿名用户
2013-12-17
展开全部
private就是所有类、函数都可以访问,完全公开;private只能是类自己访问;protected类自己和他的派生类都可以访问。望给分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-17
展开全部
我来解释吧!在解释之前,你要知道类可以继承和派生。public共有的,protected是保护的,private是私有的这是根本。如果你只建立一个单一的类,保护的和私有的没有区别。作用就是封装!举个例子class A{public:void f1();protected:void f2();private:void f3();}int main(){A a;cout<<a.f1()<<endl;cout<<a.f2()<<endl; //失败cout<<a.f3()<<endl; //失败}封装么,就是让人无法看到,无法用到,只能内部用。 接着说一下派生。如果你现在要派生一个新类:保护的和私有的就会发生区别。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贸寄问夏
2019-06-01 · TA获得超过1062个赞
知道小有建树答主
回答量:2058
采纳率:93%
帮助的人:9.9万
展开全部
我来解释吧!在解释之前,你要知道类可以继承和派生。public共有的,protected是保护的,private是私有的这是根本。如果你只建立一个单一的类,保护的和私有的没有区别。作用就是封装!举个例子class
A{public:void
f1();protected:void
f2();private:void
f3();}int
main(){A
a;cout<<a.f1()<<endl;cout<<a.f2()<<endl;
//失败cout<<a.f3()<<endl;
//失败}封装么,就是让人无法看到,无法用到,只能内部用。
接着说一下派生。如果你现在要派生一个新类:保护的和私有的就会发生区别。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-17
展开全部
需要公开就公开,不需要公开就私有。
需要之类能访问的就保护。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式