社区
C++ 语言
帖子详情
有关继承的问题
shellray
2003-08-27 10:06:18
受保护继承:
从基类继承的公共和受保护成员都在派生类中边成可保护的
客户代码不能通过派生类对象去访问基类的公共服务
为什么???????
...全文
16
9
打赏
收藏
有关继承的问题
受保护继承: 从基类继承的公共和受保护成员都在派生类中边成可保护的 客户代码不能通过派生类对象去访问基类的公共服务 为什么???????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
carbon107
2003-10-30
打赏
举报
回复
对啊,c++的特点啊
stone_sh
2003-10-30
打赏
举报
回复
三极管:
楼主用的是protected的继承。子类对象当然就不能直接访问base class中的protected及public的成员变量和函数了。楼上的都说了,这个是Cpp这么规定的,为了实现不同的访问权限。
haosjt
2003-10-28
打赏
举报
回复
这要看你的需要了,你需要访问基类的方法,你就把它定义成public,如果不需要就把它写成protected ,这正是面向对象封装的特点!
Wolf0403
2003-10-28
打赏
举报
回复
三极管:
class A
{
public:
void F(){cout << "F" << endl;}
protected:
void F(int i) { cout << "F(" << i << ")" << endl;}
};
class B : protected A
{
};
int main()
{
B b;
b.F(); // 确实不能访问
}
panzhaoping
2003-10-28
打赏
举报
回复
up
robertnet
2003-09-06
打赏
举报
回复
客户代码不能通过派生类对象去访问基类的公共服务?
楼主何出此问?
客户代码也是可以访问基类的public成员及其函数的。不过如果你在派生类中重载了基类之public及其成员函数的话,那派生类Object(对象)访问的就是派生类的成员及其函数。若要强制访问基类成员及其成员函数的话可以用base::Function()来访问(假设基类为base)。
nazha
2003-08-30
打赏
举报
回复
这样体现了封装和继承啊。要不是有元的话C++也可以成为纯面向对象的编程语言了。
nmgpy
2003-08-27
打赏
举报
回复
有什么不好,这样你就可以更精确的控制类成员的访问范围了。
Healer
2003-08-27
打赏
举报
回复
是啊.
你干吗要保护继承呢??
class A : public class B
不就行了??
为什么??
语法和编译器这么规定的.
有关多
继承
的
问题
一、多
继承
即一个子类有多个父类,它
继承
了多个父类的特性。 但多
继承
中会存在一个
问题
:即当某类的部分或全部直接基类是从另一个共同基类派生而来时, 在这些直接基类中从上一级共同基类
继承
而来的成员就拥有相同的名称,在派生类的对象中,这些同名的数据成员在内存中同时拥有多个副本,同一个函数名会有多个映射。这就是所谓的菱形
继承
问题
(下面会给出图形),即A是B和C的直接基类,而D又
继承
了B和C。解
聊聊java中的多
继承
,解决Java8接口default方法多
继承
冲突
问题
【享学Java】
前言 众所周知,Java是一种面向对象的只允许单
继承
的语言,这是每个Java程序员从业者都知道定理。 本文的目的,主要从两个方面来思考Java单
继承
的这个
问题
: 为什么Java类被设计为只能单
继承
? 怎样曲线实现多
继承
的效果? Java类为何设计为只能单
继承
? 我们都知道Java的主要设计者是James Gosling,下面我引用它的一段话来对Java语言进行定义: Java是一种简单的,面...
C++(23)——理解多重
继承
(菱形
继承
、半圆形
继承
)、虚基类和虚
继承
多重
继承
概念: 一个派生类如果只
继承
一个基类,称作单
继承
,那么如果
继承
了多个基类,就称作多
继承
。 比如: class C:public A,public B{}; 多重
继承
的优点: 多重
继承
可以做更多的代码复用! 派生类通过多重
继承
,可以得到多个基类的数据和方法,更大程度的实现了代码复用。 多重
继承
有优点,那就也会存在缺陷: 首先我们通过菱形
继承
了解一下多重
继承
的缺陷: 菱形
继承
菱形
继承
是多
继承
的一种: 如下图所示: 图中的
继承
关系会产生什么样的
问题
呢? 我们通过如下的代码示例理解一下: class
【JAVA编】
继承
前言
继承
是面向对象语法的三大特征之一。
继承
可以降低代码编写的冗余度,提高编程的效率。通过
继承
,子类获得了父类的成员变量和方法。一个子类如何
继承
父类的字段和方法,如何修改从父类
继承
过来的子类的方法呢。 什么是
继承
继承
就是子类
继承
父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类
继承
方法,使得子类具有父类相同的行为。比如:简单举个例子 //父类 class A{ //父类的成员变量 public int a1=10; public int a..
C++
继承
机制(三)——多
继承
、菱形
继承
、虚
继承
原理
本篇涉及内容: 多
继承
菱形
继承
虚
继承
C++中的多
继承
: 1)基本语法:class SubClass : public SuperClass1, public SuperClass2 2)多
继承
可能出现的
问题
: 当父类与父类直接出现同名情况 此时访问这些父类间的同名成员需要加上父类作用域用于区分是来自哪个父类的成员 菱形
继承
: 1)基本概念 有两个子类同时
继承
了同一个父类,然后又有一个类多
继承
了这两个子类 2)菱形
继承
可能会出现数据杂冗
问题
比如动物都有sex这个属性 所以羊和驼这两个类都
C++ 语言
64,371
社区成员
250,530
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章