各位看下这段代码出了什么问题,小弟刚入门~
头文件代码:
#ifndef _sieve_
#define _sieve_
class CString
{
private:
char*p_str;
public:
CString(char* p_s);
void print();
~CString();
};
#endif
实现代码:
CString::CString(char* p_s){
p_str=new char[strlen(p_s)];
strcpy(p_str,p_s);
}
void CString::print(){
while(*p_str!='\0')
{
cout<<*p_str;
p_str++;
}
}
CString::~CString(){
delete [] p_str;}
void main()
{
char* pstr;
char p[20];
int i;
pstr=&p[0];
cout<<"Enter a string: ";
while(p[i]!='\0')//到这里就报错了。。
{
for(i=0;i<20;i++)
cin>>p[i];
}
CString str(pstr);
str.print();
}