读书人

哪位帮忙看上,此程序出错在哪里(编译后

发布时间: 2012-11-13 10:00:50 作者: rapoo

哪位大虾帮忙看下,此程序出错在哪里(编译后有结果,但是最后会响一声)
#include<iostream>
#include<string.h>
#include<math.h>
using namespace std;

class CString
{
private:
char *p_str;//私有数据成员 p_str指针指向字符串
public:
CString(char* p_s)//构造函数 将参数值赋值给私有数据成员
{
p_str=new char[strlen(p_s)];
strcpy(p_str,p_s);
}

void print()
{
cout<<p_str<<endl;
}

~CString()
{
delete [] p_str;
}
};

int main()
{
char p[20];
CString* p_strPtr;

cout<<"Enter a string:";
cin>>p;

CString s1(p);
s1.print();
return 0;
}


[解决办法]

C/C++ code
#include<iostream>#include<string.h>#include<math.h>using namespace std;class CString{private:    char *p_str;//私有数据成员 p_str指针指向字符串public:    CString(char* p_s)//构造函数 将参数值赋值给私有数据成员    {        p_str=new char[strlen(p_s)+1];        strcpy(p_str,p_s);    }    void print()    {        cout<<p_str<<endl;    }    ~CString()    {        delete [] p_str;    }};int main(){    char p[20];    CString* p_strPtr=NULL;    cout<<"Enter a string:";    cin>>p;    CString s1(p);    s1.print();    return 0;}
[解决办法]
输入字符串的时,最后往往以“回车键”结束,如果不留够多一个变量的空间,就会出现访问越界的问题。
[解决办法]
只要每天都回复一个帖子,就会有10分,所以分从来不是问题。
结贴后会把问题点数的一半返还给你。
探讨

好的 再问个问题 结贴后是个什么情况?自己扣分 然后回帖人得分 如果是这样的话 那么刚注册后我有多少分

读书人网 >C++

热点推荐