template <typename Type>
class Stack
{
private:
int stack_size;
int array_capacity;
Type *array;
public:
Stack( int = 10 ); //??
~Stack();
bool empty() const;
Type top() const;
void push( const Type & );
Type pop();
};
template <typename Type>
Stack<Type>::Stack( int n ) :
stack_size( 0 ),
array_capacity( std::max(0, n) ),
array( new Type[array_capacity] )
{
// Empty constructor
}
这是使用单端数组的堆栈的实现,但是代码的某些部分使我感到困惑。我不明白为什么这么说int = 10
。
请解释,谢谢:)
这是一个未命名的参数,默认值为10。
您不需要在函数的声明中命名参数-编译器只关心参数的类型和数量。
在定义中,如果要在体内使用参数,则必须输入名称。
注意:这是默认构造函数的声明,因为可以不带参数地调用它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句