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

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

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

构造函数初始化结构体相关推荐

  1. 简单介绍C语言使用四种方法初始化结构体

    这篇文章说明了什么是结构体,介绍了结构体的概念和使用优点,在C语言中如何使用和初始化结构体方法,通过详细的代码展开进行说明,希望该篇文章对你有所帮助 什么是结构体 在实际问题中,一组数据往往有很多种不 ...

  2. 串口初始化结构体和固件库讲解

    串口初始化结构体和固件库讲解 常用的6个函数,结构体: USART 初始化结构体(USART_InitTypeDef) USART 时钟初始化结构体(USART_ClockInitTypeDef) 串 ...

  3. c++语言 结构体初始化,结构体变量初始化

    数组的初始化,需要通过一常量数据列表,对其数组元素分别进行初始化,形式如下: 数据类型 数组名称[数组长度]={初始化值1,初始化值2,-, 初始化值n}; 例如,定义长度为5的整型数组,并对其初始化 ...

  4. Go语言初始化结构体的几种方式

    结构体在实例化时可以直接对成员变量进行初始化,初始化有两种形式分别是以字段"键值对"形式和多个值的列表形式,键值对形式的初始化适合选择性填充字段较多的结构体,多个值的列表形式适合填 ...

  5. golang语法系列3-Go语言初始化结构体的成员变量

    1.使用"键值对" 初始化结构体 1.1.键值对初始化结构体的书写格式 键值对初始化的格式如下: ins:= 结构体类型名{字段1:字段1的值,字段2:字段2的值,... } 结构 ...

  6. go结构体初始化_Go语言初始化结构体的成员变量

    结构体在实例化时可以直接对成员变量进行初始化,初始化有两种形式分别是以字段"键值对"形式和多个值的列表形式,键值对形式的初始化适合选择性填充字段较多的结构体,多个值的列表形式适合填 ...

  7. 如何初始化结构体中的指针结构体_跟我一起学习go语言(五)golang中结构体的初始化方法...

    1.自定义一个结构体 type Vertex struct { X, Y float64} 2.初始化方法-指针: rect1 := new(Vertex )rect2 := &Vertex ...

  8. 如何用函数初始化结构体

    问题 这里主要讨论函数的參数.应该是结构体呢.还是结构体的地址,还是二者都行. 实验证明,仅仅能用结构体的地址. 代码 #include<stdio.h> #include<math ...

  9. 结构体引用_C/C++结构体完全攻略

    结构体是一个由程序员定义的数据类型,可以容纳许多不同的数据值.在过去,面向对象编程的应用尚未普及之前,程序员通常使用这些从逻辑上连接在一起的数据组合到一个单元中.一旦结构体类型被声明并且其数据成员被标 ...

最新文章

  1. 基于深度学习的自然语言处理
  2. 前端三十五:图片的基本概念
  3. SQL Server中事务日志自动增长对性能的影响
  4. CORS 跨域-同源策略
  5. 最优化(part1)--近似点梯度法
  6. poi java 其他_让POI架起Java与Office之间的桥梁一
  7. HDU6092——Rikka with Subset 【dp】
  8. 关于text-indent
  9. MySQL视图索引与存储过程精析
  10. 学生宿舍管理系统的设计与实现
  11. 使用Scikit Learn的分类器探索Iris数据集
  12. Windows如何设置右键快捷键
  13. java实现自动拨打电话语音提示
  14. 【Web前端】京东商城项目实战HTML+CSS+JavaScript
  15. 数独解法 C++实现
  16. python Crypto.Cipher
  17. 聚观早报 | 明年起手机预装APP均可卸载;爱奇艺VIP会员再次涨价
  18. 高斯模糊处理头像作为背景图的两种高效便捷方法
  19. word添加参考文献和标注的详细简单方法
  20. 毕设必备!Python智慧教室:考试作弊系统、动态点名等功能

热门文章

  1. 数据结构之【树形结构】复习题
  2. 【Notes】《Thinking in Java》【Chapter 11】Part II
  3. 填坑-十万个为什么?(24)
  4. 构设计杂谈004——架构师
  5. 【微信小程序canvas】实现小程序手写板用户签名(附代码)
  6. 【WPF】屏幕右下角消息提示框
  7. 使用 laravel 命令安装 Laravel
  8. 零日漏洞迟迟未补上:扫描发现超85万思科设备受影响
  9. Intellij idea generate builder 插件-用于自动生成builder模式代码
  10. YbSoftwareFactory 代码生成插件【二十二】:CMS基础功能的实现