C++:类Name有两个数据成员:last-name和first-name,分别用来记录人的姓,名,构造函数Name()被重载成三种形式:无参数的构造函数Name(),带一个参数的 Name(char *),带两个参数的Name(char *,char *)怎么写呀
参考GPT和自己的思路:可以按照以下方式来定义类Name和构造函数:
class Name {
private:
std::string last_name;
std::string first_name;
public:
// 无参构造函数
Name() {
last_name = "";
first_name = "";
}
// 带一个参数的构造函数
Name(char* fname) {
first_name = fname;
last_name = "";
}
// 带两个参数的构造函数
Name(char* lname, char* fname) {
last_name = lname;
first_name = fname;
}
};
在该实现中,数据成员last_name和first_name都是字符串类型。无参构造函数Name()会将两个数据成员都设置为空字符串。带一个参数的构造函数Name(char*)会将first_name设置为提供的字符串,而将last_name设置为空字符串。带两个参数的构造函数Name(char*, char*)会将last_name设置为提供的第一个字符串,而将first_name设置为提供的第二个字符串。
希望这个答案能够帮到你。
class Name
{
private:
char first_name[20];
char last_name[20];
public:
Name()
{
memset(first_name,0,20);
memset(last_name,0,20);
}
Name(char* firstName)
{
strcpy(first_name,firstName);
memset(last_name,0,20);
}
Name(char* firstName, char* lastName)
{
strcpy(first_name,firstName);
strcpy(last_name,lastName);
}
};
int main()
{
char firstname[20],lastname[20];
cin>>firstname>>lastname;
Name name(firstname,lastname);
}