犊子小白 2018-10-08 03:28 采纳率: 0%
浏览 852

如何将C++中的公有改为私有的。代码如下,求解答。

#include
#include

using namespace std;

typedef char Element;
class SeqStack{

public :
    int MaxSize;
    Element *elements;
    int top;
    int length;
    SeqStack(Element *e,int Size)
    {
        top=-1;
        length=0;
        elements=e;
        MaxSize=Size;
    }
   int PushSeqStack(Element element);
   void PopSeqStack();
   void ClearSeqStack();
   Element PeekSqeStack();

};
/** 向栈中压入元素,返回压入的结果(true/false) */
int SeqStack::PushSeqStack(Element element){
if(top == MaxSize- 1){
cout<<"栈已满"<<endl;
}
top++; //栈顶指针+1,以便加.01 004入新的元素
//将新插入的元素赋值给栈顶
elements[top] = element;
length++;

}

Element SeqStack::PeekSqeStack()
{
return elements[top];
}

void SeqStack::PopSeqStack(){
//返回栈顶指向的元素
//*element = elements[top];
//cout<<"弹出元素"<<elements[top]<<endl;
top--;
length--;

}
void SeqStack::ClearSeqStack(){
top = -1;
length = 0;
}

int main()
{
Element* e=new Element[100];
bool IsOk=true;
SeqStack Stack(e,100);
string s;
while(!cin.eof())
{
cin>>s;
Stack.ClearSeqStack();
for(int i=0;i<s.size();i++)
{
if(s[i]=='('||s[i]=='{'||s[i]=='[')
{
Stack.PushSeqStack(s[i]);
}
else if(s[i]==']'||s[i]==')'||s[i]=='}')
{
if((Stack.PeekSqeStack()=='('&&s[i]==')')||(Stack.PeekSqeStack()=='{'&&s[i]=='}')||(Stack.PeekSqeStack()=='['&&s[i]==']'))
{
Stack.PopSeqStack();
}
else
{
IsOk=false;
}
}
}
if(IsOk==false)
{
cout<<"NO"<<endl;
IsOk=true;
continue;
}
if(Stack.top==-1)
{
cout<<"YES"<<endl;
}else{
cout<<"NO"<<endl;
}
}
return 0;
}

  • 写回答

2条回答

  • SiGoYi 2018-10-08 08:38
    关注

    public 改为 private就OK啊,但是private属性和方法不能在类外访问

    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?