c++编成问题,帮忙编一下,谢谢

王朝知道·作者佚名  2009-12-02
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

编写一个类,实现简单的栈。栈中有以下操作:元素入栈,读出栈顶元素值,退栈,判断栈顶空否。如果栈溢出,程序终止。栈的数据成员由10个整形的数构成。先后作出如下操作:

创建栈:

将10入栈;

将12入栈;

将14入栈;

读出并输入栈顶元素;

退栈;

读出并输出栈顶元素。

參考答案:

class CStack

{

protected:

int *pStack;

int data[10];

public:

CStack();

virtual ~CStack();

int GetStack(int *n);

int SetStack(int n);

};

int main(int argc, char* argv[])

{

CStack m_Stack;

m_Stack.SetStack(10);

m_Stack.SetStack(12);

m_Stack.SetStack(14);

int x;

if(!m_Stack.GetStack(&x))printf("No Data!\n");

printf("%d\n",x);

if(!m_Stack.GetStack(&x))printf("No Data!\n");

printf("%d\n",x);

if(!m_Stack.GetStack(&x))printf("No Data!\n");

printf("%d\n",x);

if(!m_Stack.GetStack(&x))printf("No Data!\n");

return 0;

}

int CStack::GetStack(int *n)

{

if( pStack == data )return 0;

pStack--;

*n = *pStack;

return 1;

}

int CStack::SetStack(int n)

{

if( pStack == (data+10) )return 0;

*pStack = n;

pStack++;

return 1;

}

CStack::CStack()

{

pStack = data;

}

CStack::~CStack()

{

}

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航