#include<iostream>
#include<string>
using namespace std;
class Person
{
protected:
char*Name;
char*Sex;
int Age;
public:
Person(char*n,char*s,int a)
{Name=new char[strlen(n)+1];
strcpy(Name,n);
Sex=new char[strlen(s)+1];
strcpy(Sex,s);
Age=a;
}
~Person()
{if(Name)delete[]Name;
if(Sex)delete[]Sex;
}
void Show()
{cout<<"姓名:"<<Name<<"\t性别:"<<Sex<<"\t年龄:"<<Age<<'\n';}
Person&operator=(Person&s);
};
Person&Person::operator=(Person&s)
{
if(Name)delete[]Name;
if(Sex)delete[]Sex;
if(s.Name)
{Name=new char[strlen(s.Name)+1];
strcpy(Name,s.Name);
}
else Name=0;
if(s.Sex)
{
Sex=new char[strlen(s.Sex)+1];
strcpy(Sex,s.Sex);
}
else Sex=0;
Age=s.Age;
return *this;
}
void main()
{
Person s1("张乾坤","男",21),s2("李婷婷","女",19);
s1.Show();
s2.Show();
s2=s1;
s2.Show();
system("pause");
}
#include<string>
using namespace std;
class Person
{
protected:
char*Name;
char*Sex;
int Age;
public:
Person(char*n,char*s,int a)
{Name=new char[strlen(n)+1];
strcpy(Name,n);
Sex=new char[strlen(s)+1];
strcpy(Sex,s);
Age=a;
}
~Person()
{if(Name)delete[]Name;
if(Sex)delete[]Sex;
}
void Show()
{cout<<"姓名:"<<Name<<"\t性别:"<<Sex<<"\t年龄:"<<Age<<'\n';}
Person&operator=(Person&s);
};
Person&Person::operator=(Person&s)
{
if(Name)delete[]Name;
if(Sex)delete[]Sex;
if(s.Name)
{Name=new char[strlen(s.Name)+1];
strcpy(Name,s.Name);
}
else Name=0;
if(s.Sex)
{
Sex=new char[strlen(s.Sex)+1];
strcpy(Sex,s.Sex);
}
else Sex=0;
Age=s.Age;
return *this;
}
void main()
{
Person s1("张乾坤","男",21),s2("李婷婷","女",19);
s1.Show();
s2.Show();
s2=s1;
s2.Show();
system("pause");
}