C++程序,我无法理解啊!~

来源:百度知道 编辑:UC知道 时间:2024/09/28 15:32:15
声明一个栈类,利用栈操作实现将输入的字符串反向输出
如下是我写的程序
#include"iostream.h"
class stack
{
public:
stack(char *str);
~stack();
void push();
void pop();
void print();
private:
char *s=new char[20]; //这里有问题,但我不清楚
char *CgetStr=new char[20];
char *CgetConvert=new char[20];
int top;
};
stack::stack(char *str)
{
CgetStr=str;
}
stack::~stack()
{
cout<<"destruting..."<<endl;
}
void stack::push()
{
top=0;
while(*(CgetStr+top)!='\0')
{
s[top]=*(CgetStr+top);
top++;
}
}
void stack::pop()
{
top--;
while(top!=-1)
{
*(CgetConvert+top)=s[top];
top--;
}
}
void stack::print()
{
cout<<"Now,String is"<<CgetConvert<<endl;
}
int main()
{
char *CStr=new char[20]; <

我没有见过在类里面赋值的;
private:
char *s=new char[20]; //这里有问题,但我不清楚
char *CgetStr=new char[20];
char *CgetConvert=new char[20];
改为:
private:
char *s;
char *CgetStr;
char *CgetConvert;
到外面再*s=new char[20];

我现在学java也是初学者5不懂

程序代码十分不好 你的new 因为有对应的delete

没看见过这样的代码private:
char *s=new char[20]; //这里有问题,但我不清楚
char *CgetStr=new char[20];
char *CgetConvert=new char[20];
请问高手你是从哪里搞到的代码。

应该是char *s;
s=new char【20】