标题:接口继承是纯虚函数为基类,实现继承是非纯虚函数为基类?
只看楼主
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
 问题点数:0 回复次数:12 
接口继承是纯虚函数为基类,实现继承是非纯虚函数为基类?
接口继承是纯虚函数为基类,实现继承是非纯虚函数为基类?
不知道 这样理解对不对
缺省实现继承 和 强制性实现继承 各是什么意思?
搜索更多相关主题的帖子: 基类 函数 接口 继承 强制性 
2008-04-28 21:40
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
前面的是对的..后面不知道..都属于高级主题了...你做研究?

学习需要安静。。海盗要重新来过。。
2008-04-28 21:50
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
得分:0 
初学 只是不懂是什么意思
更谈不上研究了
2008-04-28 22:10
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
我是看c++primer过来的...是本中等偏上的书...你的问题...也见过一点..有部分没听过..也许不是这样叫吧...你最好放点代码我们一起提高...

学习需要安静。。海盗要重新来过。。
2008-04-28 22:21
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
得分:0 
缺省实现继承 和 强制性实现继承
就是 不知道什么意思 更不知道怎么用代码实现了
2008-04-28 22:35
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
得分:0 
[bo]以下是引用 [un]newyj[/un] 在 2008-4-28 21:40 的发言:[/bo]

接口继承是纯虚函数为基类,实现继承是非纯虚函数为基类?
不知道 这样理解对不对
缺省实现继承 和 强制性实现继承 各是什么意思?


c++里没有interface这个概念。
有纯虚函数的基类是抽象类,按你的分类标准,c++里继承分为继承于一个抽象类和继承于一个非抽象类(具体类)。

缺省实现继承:基类中的非纯虚函数,也就是一般的虚函数。
virtual void fun(){
    //your implementation
}
这样的函数是必须实现的,派生类可以去重写(override)这个函数,但是调用时如果子类没又重写它,也不会出错,因为基类有默认的实现。

强制性实现继承:基类中的纯虚函数。
virtual void fun() = 0;
这样的一个函数是没有实现的,所以你要想调用它,那么必须在子类中重写(override)它,否则就会调用出错。所以这里的实现是强制性的。

Fight  to win  or  die...
2008-04-28 23:01
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
原来是这个意思...呵呵..学习了..内容知道.只是这些名词没怎么听过...virtual void fun() = 0;这个在基类中也是可以有实现的....

[[it] 本帖最后由 sunkaidong 于 2008-4-28 23:19 编辑 [/it]]

学习需要安静。。海盗要重新来过。。
2008-04-28 23:06
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
得分:0 
谢谢了
那要是virtual void fun() = 0{...};这样的话可不可以不在派生类中再定义自己的函数?
直接调用基类的 fun()函数呢
2008-04-29 10:22
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
可以..但是你就没办法多态了

学习需要安静。。海盗要重新来过。。
2008-04-29 10:58
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
得分:0 
回复 9# 的帖子
是不是就可以把它当作 一个普通的成员函数
在派生类中就不能再重新定义它了
2008-04-29 11:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-211543-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043345 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved