class man{
public:
man(const char*name,const char*xingBie");
private:
char*name;
char*xingBie;
}
//第一种
man::man(const char*name,const char*xingBie){
//注意此时name,和性别要初始化,此时name和xingBie是 空指针,运行时会错误
name=new char[64];
xingBie=new char[128];
if (this->name)
{//由于name为指针,不可name=name;xingBie=xingBie
strcpy_s(this->name,64, name);
}
if (this->xingBiei)
{
strcpy_s(this->xingBie,128, xingBie);
}
}
//第二种
man::man(const char*name,const char*xingBie)
: name{new char[64]{0}},xingBie{new char[128]{0} }
{
//注意此时name,和性别要初始化,此时name和xingBie是 空指针,运行时会错误
//this可以理解为指向本身的指针
if (this->name)
{//由于name为指针,不可name=name;xingBie=xingBie
strcpy_s(this->name,64, name);
}
if (this->xingBiei)
{
strcpy_s(this->xingBie,128, xingBie);
}
}
名字和性别也可以通过string与const char*
class man{
public:
man(const char*name,const char*xingBie");
private:
string name;
string xingBie;
}
man(const char*name,const char*xingBie"){
//此时name与xin gBie不在是指针
//const char* =>只读常量
this->name=name;
this->xingBie=xingBie;
}