首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c++中的精化与继承

c++中的精化与继承
EN

Stack Overflow用户
提问于 2019-11-23 05:01:30
回答 1查看 210关注 0票数 0

在c++中什么是精化?

在阅读c++引物时,我看到了以下声明:

就C++语言而言,这种特定的双向迭代器是内置类型,不能从类中派生出来。然而,在概念上,它确实继承了。一些STL文献使用精化一词来表示这种概念继承。因此,双向迭代器是前向迭代器概念的精化。

继承和精化有什么关系?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-23 05:37:15

精化意味着“它具有相同的属性(或特性,或需求),加上更多的属性。”

如果遵循Liskov代换原理,继承通常是细化的,因为可以使用派生实例完成所有基类操作,派生实例满足所有基本要求。

不需要使用继承来实现细化。这部分是由于C++支持静态多态性,例如模板。双向迭代器是前向迭代器的精化,即使前者不继承后者,只要程序可以在任何需要前向迭代器的地方使用双向迭代器。采用迭代器的函数通常将它们作为模板类型,所以重要的是它们实现了一组已知的方法(例如,前迭代器的增量和取消引用,以及双向迭代器的减少)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59004674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档