struct Node{ char *name; int age; Node(char *n="", int a=0){ name = new char[strlen(n)+1]; strcpy(name, n); age = a; } }
下面声明:
struct Node{ char *name; int age; Node(char *n="", int a=0){ name = new char[strlen(n)+1]; strcpy(name, n); age = a; } Node(const Node& n){ name = new char[strlen(n.name)+1]; strcpy(name, n.name); age = n.age; } }
Node& operator=(const Node& n){ if(this != &n){ if(name!= 0) delete[] name; name = new char[strlen(n.name)+1]; strcpy(name, n.name); age = n.age; } return *this; }最后在来个析构函数:
~Node(){ if(name!=0) delete[] name; }