我想知道我正在制作的这种抽象数据类型是否正确构造。
我的构造函数:
IntSet();
IntSet(int a, int = -1, int = -1, int = -1, int = -1);
在 main 中创建的 IntSet:
IntSet A();
IntSet B;
现在 A 在 5 值构造函数中构造, B 在空构造函数中构造。这是正确的,还是应该在空构造函数中构造 A?
谢谢!
我想知道我正在制作的这种抽象数据类型是否正确构造。
我的构造函数:
IntSet();
IntSet(int a, int = -1, int = -1, int = -1, int = -1);
在 main 中创建的 IntSet:
IntSet A();
IntSet B;
现在 A 在 5 值构造函数中构造, B 在空构造函数中构造。这是正确的,还是应该在空构造函数中构造 A?
谢谢!
IntSet A();
这一行声明了一个不带参数和返回IntSet类型的函数。它没有定义对象。它也被称为最令人头疼的 parse。
IntSet B;
此行B通过调用默认构造函数(接受 0 参数的构造函数)来定义对象。
现在, B 是默认构造的。
A 根本不是对象的定义。它是一个名为的函数的声明,A它不接受任何参数并返回一个IntSet. 谷歌搜索“最令人烦恼的解析”将提供更多解释和讨论。