65,210
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class mojiretu{
public:
mojiretu(const char *n){
name = new char[strlen(n)+1];
strcpy(name,n);
name[strlen(n)]='\0'; //<---这里也忘记加上'\0'了,再追问一句,strcpy之后,需要加'\0'吗?
}
mojiretu(char n){
name= new char[2];
name[0]=n;
name[1]='\0';
}
void show(){cout << name << endl;}
~mojiretu(){
delete[] name;
cout << "-END-\n";
}
private :
char *name;
};
int main(){
mojiretu m1("watanabe");
m1.show();
mojiretu m2('x');
m2.show();
mojiretu m3("abc");
m3.show();
}
#include <iostream>
using namespace std;
class mojiretu
{
public:
mojiretu(const char *n)
{
name = new char[strlen(n)+1]; // here
strcpy(name,n);
}
mojiretu(char n)
{
name= new char[2]; // here
name[0]=n;
name[1]='\0';
}
void show()
{
cout << name << endl;
}
~mojiretu()
{
if (name!=NULL)
delete[] name;
cout << "-END-\n";
}
private :
char *name;
};
int main()
{
mojiretu m1("watanabe");
m1.show();
mojiretu m2('x');
m2.show();
}