64,633
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <cstring>
class MyClass
{
private:
char *name;
public:
MyClass(){};
MyClass(const char *name);
~MyClass();
MyClass(const MyClass &m);
};
MyClass::MyClass(const MyClass &m)
{
MyClass(m.name);
}
MyClass::~MyClass()
{
delete[] this->name;
}
MyClass::MyClass(const char *name)
{
size_t len = strlen(name);
this->name = new char[len + 1];
strcpy(this->name, name);
}
int foo(MyClass &m)
{
m = MyClass("name");
return 0;
}
int main(int argc, char **argv)
{
MyClass m;
foo(m);
std::cin.ignore();
return 0;
}
#include <iostream>
#include <cstring>
using std::cout;
using std::cin;
using std::endl;
class MyClass
{
private:
char *name;
public:
MyClass(){};
MyClass(const char *name);
~MyClass();
MyClass(const MyClass &m);
};
MyClass::MyClass(const MyClass &m)
{
cout << "copying..." << endl;
MyClass(m.name);
}
MyClass::~MyClass()
{
delete[] this->name;
}
MyClass::MyClass(const char *name)
{
size_t len = strlen(name);
this->name = new char[len + 1];
strcpy(this->name, name);
}
int foo(MyClass &m)
{
m = MyClass("name");
return 0;
}
int main(int argc, char **argv)
{
MyClass m;
foo(m);
cin.ignore();
return 0;
}