C++,类的公有继承,基类的私有成员在派生类中不可见或不可访问,这个不可见或不可访问是什么意思?
我的理解:公有继承就是派生类复制了一份基类的公有成员和受保护成员,私有成员没有复制过来,就是说派生类里面没有和基类的私有成员名字一样的成员。这个理解对吗?...
我的理解:公有继承就是派生类复制了一份基类的公有成员和受保护成员,私有成员没有复制过来,就是说派生类里面没有和基类的私有成员名字一样的成员。
这个理解对吗? 展开
这个理解对吗? 展开
5个回答
展开全部
我也来打个比方。
父亲 儿子 妻子 财产 教育基金。
父亲的妻子 自由老子自己可以用 私有的
父亲财产 儿子可以继承 老子 和儿子都可以用 公有的
父亲给儿子的教育基金 只有儿子可以用 受保护的 ,对儿子来说是私有的。
总结
私有的只能通过父亲的方法去使用。
公用的父亲儿子方法都可以去用。
保护的只有通过儿子的方法去访问
父亲 儿子 妻子 财产 教育基金。
父亲的妻子 自由老子自己可以用 私有的
父亲财产 儿子可以继承 老子 和儿子都可以用 公有的
父亲给儿子的教育基金 只有儿子可以用 受保护的 ,对儿子来说是私有的。
总结
私有的只能通过父亲的方法去使用。
公用的父亲儿子方法都可以去用。
保护的只有通过儿子的方法去访问
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
公有继承(public)将父类中的成员的可见性原搬不动的移到派生类里,原来私有(private)依然保持私有,公有依然保持公有...
可见性是对类以外空间来说的
可见性是对类以外空间来说的
追问
你是说继承后,父类的私有成员,到了派生类里还是私有成员?
那么派生类的成员函数岂不是还可以访问这个私有成员吗?
追答
派生类里是可以访问父类的公有成员的
私有成员到派生类时仍然占用存储空间,无法直接访问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从物理上讲是复制过来了,在内存中确实有复制。但是从程序上看是被屏蔽了,不能直接调用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
外部成员无法访问内部私有成员。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询