选择题   有如下程序:
        #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;
        }
    执行上面程序的输出是
 
【正确答案】 C
【答案解析】