c++中如果派生类对基类继承过来的函数功能不需要扩充可不可不定义而直接调用?

派生类是不是相对与基类来说是一个功能更完善的而又独立的了?就是说它所有的功能还需再定义了还是它和基类是相通的了只需再定义扩充功能基类的功能它就会有了?... 派生类是不是相对与基类来说是一个功能更完善的而又独立的了? 就是说它所有的功能还需再定义了 还是它和基类是相通的了 只需再定义扩充功能 基类的功能它就会有了? 展开
 我来答
judymac01
推荐于2018-04-09 · 超过15用户采纳过TA的回答
知道答主
回答量:21
采纳率:0%
帮助的人:46.7万
展开全部
哈,我拿effective C++上的话来说吧。
有一个基类person,和两个派生类student和teacher,person里面可以定义一些函数比方说基本的功能eat(),study(),student和teacher都可以继承这两个函数(因为通用),不需要重新定义,但是新的派生类可以派生出自己独特的行为,比方说student可以有submit()提交作业功能,teacher有check()检查作业功能,这就可以分开定义了。

所以派生类可以说是完善而且独立的,基类定义的功能子类不用重复定义,但是虚函数是要重新定义的,纯虚函数在派生类必须需要定义。
巴扎嘿v5
2013-05-10 · TA获得超过308个赞
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:168万
展开全部
c++中如果派生类对基类继承过来的函数功能不需要扩充的话,可以直接使用基类中的函数。因为派生类中继承了基类的属性和方法。

如果基类中的实现和派生类中的方法实现不同的话,可以用虚函数。派生类继承了基类虚函数的接口和默认实现,但是它可以对这个虚函数重新实现。

一般来说派生类的行为不可能和基类完全一样,成员和函数都会有扩充。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huliang8439
2013-05-10 · TA获得超过112个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:143万
展开全部
基类的功能都有,不需要定义就可以调用用基类的函数,如果重新定义了,则默认调用的是新的函数,但是你还可以用::符号指定调用基类的函数。当然要注意基类的是private 、protected、public ,稍微还有点区别。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-05-10 · TA获得超过3954个赞
知道大有可为答主
回答量:1636
采纳率:77%
帮助的人:1267万
展开全部
如果基类的函数有定义,派生类可以不用定义直接调用,如果基类的函数没有定义(纯虚函数)则派生类在调用前必须定义该函数的函数体。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a4a032c
2013-05-10 · TA获得超过308个赞
知道小有建树答主
回答量:628
采纳率:0%
帮助的人:284万
展开全部
关键看那个函数是不是 纯虚函数(也就是 基础类 只是声明没有定义)。如果不是,且功能已经足够了你可以直接调用.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式