1) 模板是重用源代码的利器
C#、Java都有原始类Object,所有的类都继承于它,C++没有。
原因是:
l 主要是C++不是纯粹的面向对象的语言,要兼容于C;而且考虑到多态的效率问题;
l 另外一个原因是,可用C++模板来解决一些公共Object的问题。比如,容器类的实现,C#、Java可保存Object指针,而C++可用模板实现任意类型的保存。
(C++是强类型语言,不像Python等,弱类型不需要模板)
2) 模板声明和实现一般放在同一头文件中
模板定义比较特殊,放在头文件中,被多个文件以include方式包含进去,不会出现重定义的编译错误。
C++模板与面向对象
本文探讨了C++中模板的应用及其与面向对象的关系。解释了为何C++没有类似C#或Java中的基础Object类,并介绍了如何利用模板解决类型通用问题。
1万+

被折叠的 条评论
为什么被折叠?



