-1

我想知道我正在制作的这种抽象数据类型是否正确构造。

我的构造函数:

   IntSet();                                 
   IntSet(int a, int = -1, int = -1, int = -1, int = -1);    

在 main 中创建的 IntSet:

IntSet A();
IntSet B;

现在 A 在 5 值构造函数中构造, B 在空构造函数中构造。这是正确的,还是应该在空构造函数中构造 A?

谢谢!

4

2 回答 2

1
IntSet A(); 

这一行声明了一个不带参数和返回IntSet类型的函数。它没有定义对象。它也被称为最令人头疼的 parse

IntSet B;

此行B通过调用默认构造函数(接受 0 参数的构造函数)来定义对象。

于 2013-10-15T08:58:09.880 回答
1

现在, B 是默认构造的。

A 根本不是对象的定义。它是一个名为的函数的声明,A它不接受任何参数并返回一个IntSet. 谷歌搜索“最令人烦恼的解析”将提供更多解释和讨论。

于 2013-10-15T08:58:29.863 回答