派生数据类型与抽象数据类型

时间:2017-06-26 10:58:45

标签: c++ abstract-data-type

在阅读c++时,我遇到了arraystructunions等衍生数据类型。但我们也研究了stacksqueuesbinary search treetreesADT

我想知道,这些ADT派生的数据类型也是这样吗?

1 个答案:

答案 0 :(得分:1)

数组,结构,联合或指针是C ++从C继承的派生类型。它们允许从基本类型创建新数据类型(intlongfloat ... )。

在C ++中,您还有标准模板库(STL),它们是抽象类型。它们与派生类型的不同之处在于它们是使用templates的类。

因此,在回答您的问题时,抽象类型比派生类型更强大,因为模板机制具有更丰富的语义。例如,在C ++中,您可以使用抽象结构:

template <typename T> 
struct mytype { 
    T value;
};