您的位置:首页 > 编程语言 > C语言/C++

thinking: C++的模板与Java的接口

2007-04-16 02:33 351 查看
c++图算法一书中, 首先向我们介绍了一种图的ADT ,此ADT中只包含了图的基本操作(返回顶点/边的数量,增/删边,判断两点间是否有边),而图的算法都通过ADT函数实现。ADT函数没有直接用到图作为参数,而是用了模板参数的方式传入一个图的类。

突然觉得这种方式,跟用接口有点类似:传入的参数一样需要符合一定的“契约”;

而最大的不同点在于,若用模板,被传入模板参数的类型只要含有模板函数/类中用到的成员,即可;接口则必须在定义作为参数的类的时候,显式声明实现特定接口。

联想到的问题:

若要接口实现类中包含特定内部类时,使用接口应当如何实现?(接口有必要使用内部类吗?)

接口从抽象类中分离出来,是否存在一定的使用法则?

为何书中不使用接口(c++中是纯抽象类)的方式实现统一的树接口?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ java 算法 联想