64,642
社区成员
发帖
与我相关
我的任务
分享
#include <vector>
#include <iostream>
using namespace std;
class iStack
{
public:
iStack( int capacity ) : _stack( capacity ), _top( 0 ) {} //冒号后面的内容全然不懂什么意思,烦请讲解
bool pop( int &value );
bool push( int value );
bool full();
bool empty();
void display();
int size();
private:
int _top;
vector< int > _stack;
};
iStack( int capacity )
{
_stack( capacity );//创建一个局部临时对象
_top( 0 );
}
//上面成员对象_stack被缺省构造;而函数体内的_stack( capacity );是创建一个局部临时对象
//并不等价于如下:
iStack( int capacity ) : _stack( capacity ), _top( 0 ) {}
iStack( int capacity ) : _stack( capacity ), _top( 0 ) {} //冒号后面的内容全然不懂什么意思,烦请讲解
//冒号后面的内容是初始化类的数据成员 _top;_stack;
也可以这样写
iStack( int capacity )
{
_stack( capacity );
_top( 0 );
}