请分析一下下面代码,怎么实现自定义的类的使用

hxlliuran hxlliuran 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include <vector>
#include <iostream>
#include "iStack.h"

class iStack
{
public:
iStack(int capacity):_stack(capacity),_top(0){};

bool pop(int &value);
bool push(int value);

bool empty();
bool full();
bool display();
int size();
private:
int _top;
vector<int> _stack;
};




inline bool iStack::empty(){
return _top?false:true;}
inline bool iStack::full(){
return _top <_stack.size()-1?false:true;}

bool iStack::pop(int &top_value)
{
if(empty()) return false;
top_value=_stack[--_top];
cout<<"iStack::pop():"<<top_value<<endl;
return true;
}

bool iStack::push(int value)
{
cout<<"iStack::push("<<value<<")\n";
if(full()) return false;
_stack[_top++]=value;
return true;
}

bool iStack::display()
{
if(!size()) {cout<<"(0)\n";return false;}
cout<<"("<<size()<<")(bot:";
for(int ix=0;ix<_top;++ix) cout<<_stack[ix]<<" ";
cout<<":top)\n";
return true;
}

int main()
{
iStack stack(32);
stack.display();
for(int ix=1;ix<51;++ix)
{
if(ix%2==0) stack.push(ix);
if(ix%5==0) stack.display();
if(ix%10==0) { int dummy;
stack.pop(dummy);stack.pop(dummy);stack.display();
}
}
}
...全文
评论 8
收藏 已收藏
分享
返回顶部
hxlliuran
VC/MFC 16,550 成员 421,606 内容