构造函数初始化结构体

构造函数初始化结构体
虽然初始化列表易于使用,但它有两个缺点:
如果有某个成员未被初始化,那么在这种情况下,跟随在该成员后面的成员都不能初始化。
如果结构体包括任何诸如字符串之类的对象,那么在许多编译器上它都将无法运行。

在这些情况下,可以使用构造函数来初始化结构体成员变量,这和初始化类成员变量是相同的。与类构造函数一样,结构体的构造函数必须是与结构体名称相同的公共成员函数,并且没有返回类型。因为默认情况下,所有结构体成员都是公开的,所以不需要使用关键字 public。

以下是一个名为 Employee 的结构体的声明语句,它包含一个具有两参数的构造函数,以便在创建一个 Employee 变量而不向其传递任何参数时,提供默认值:
struct Employee
{
string name; // 员工姓名
int vacationDays, // 允许的年假
daysUsed; //已使用的年假天数
Employee (string n ="",int d = 0) // 构造函数
{
name = n;
vacationDays = 10;
daysUsed = d;
}
};

发布了20 篇原创文章 · 获赞 12 · 访问量 3959

猜你喜欢

转载自blog.csdn.net/Athus_c/article/details/101718729
今日推荐