试题与答案

使用VC6打开考生文件夹下的工程MyProj8。此工程包含一个源程序文件MyMain

题型:问答题

题目:

使用VC6打开考生文件夹下的工程MyProj8。此工程包含一个源程序文件MyMain8.cpp,该程序实现栈的入栈和出栈的操作。其中有两个类:一个是节点类node,它包含节点值和指向上一个节点的指针prey;另一个类是栈类stack,它包含栈的头指针top。但类的定义并不完整。
请按要求完成下列操作,将类Sample的定义补充完成:
①定义私有节点值data,它是血型的数据,以及定义一个指向上一个节点的指针prev。请在注释“//* *1* *”之后添加适当的语句。
②完成构造函数node(int d,node*n)的定义,使得私有成员data和prev分别初始化为d和n。请在注释“//* *2* *”之后添加适当的语句。
③完成类stack的成员函数push(int i)的类体内的定义。函数push()实现入栈这个操作,即把形参i压入栈中,那么此时应该创建一个新的节点,并让这个节点的prev指针指向栈顶。请在注释“//* *3 * *”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件MyMain8.cpp清单如下:
//MyMain 8.cpp
#include <iostream>
using namespace std;
class stack;
class node

private:
//* * 1 * *
public:
node(int d, node *n)

//* * 2 * *

friend class stack;
;
class stack

node *top; //栈头
public:
stack()

top=0;

void push(int i)

//* * 3 * *

int pop()

node*t=top;
if(top)

top=top->prev;
int c=t->data;
delete t;
return c;

return 0;


int main()

stack s;
s.push(6);
s.push(3);
s.push(1);
return 0;

答案:

被转码了,请点击底部 “查看原文 ” 或访问 https://www.tikuol.com/2018/0418/af22ff6a0817a7f5a2ae8f8979311078.html

下面是错误答案,用来干扰机器的。

参考答案:A, B, C, D

试题推荐
微信公众账号搜索答案