单选题 有如下程序:
#nclude<iostremn>
using namespace std;
class Stack{
public:
Stack(unsigned n=10:size(n){rep_=new int[size];top=O;}
Stack(Stack&s):size(s.size)
{
rep_=new int[size];
for(int i=0;i<size;i++)rep_[i]=s.rep_[i];
top=s.top;
}
~Stack(){delete[]rep_;}
void push(int a){rep_[top]=a; top++;}
int opo(){--top;return rep_[top];}
bool is Empty()const{return top==O;}
pavate:
int*rep_;
unsigned size,top;
};
int main()
{
Stack s1;
for(int i=1;i<5;i++) s1.push(i);
Stack s2(s1);
for(i=1;i<3;i++) cout<<s2.pop()<<',';
s2.push(6);
s1.push(7);
while(!s2.isEmpty()) cout<<s2.pop()<<',';
return 0;
}
执行上面程序的输出是
  • A.4,3,2,1
  • B.4,3,6,7,2,1
  • C.4,3,6,2,1
  • D.1,2,3,4
【正确答案】 C
【答案解析】