c++构造函数中char *做形参,为其赋予了初始值,但还是显示出错?
#include<iostream>#include<cstring>usingnamespacestd;classString{private:char*strValu...
#include <iostream>
#include <cstring>
using namespace std;
class String
{
private:
char *strValue;
public:
String(char *s = "")
{
if (s == NULL) s = "";
strValue = new char[strlen(s) + 1];
strcpy(strValue, s);
}
String(const String ©)
{
strValue = new char[strlen(copy.strValue) + 1];
strcpy(strValue, copy.strValue);
}
~String() { delete[]strValue; }
void Show() { cout << strValue << endl; }
};
int main()
{
String c1();
c1.show();
system("pause");
return 0;
} 展开
#include <cstring>
using namespace std;
class String
{
private:
char *strValue;
public:
String(char *s = "")
{
if (s == NULL) s = "";
strValue = new char[strlen(s) + 1];
strcpy(strValue, s);
}
String(const String ©)
{
strValue = new char[strlen(copy.strValue) + 1];
strcpy(strValue, copy.strValue);
}
~String() { delete[]strValue; }
void Show() { cout << strValue << endl; }
};
int main()
{
String c1();
c1.show();
system("pause");
return 0;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |