当前位置: 首页 > news >正文

C++工程实战入门笔记11-三种初始化成员变量的方式

1. 默认成员初始化器 (C++11)

在类声明中直接给成员变量赋初值。

class MyClass {
public:MyClass() {} // 构造函数可以使用这些默认值private:int x = 0;           // 默认成员初始化string name = "default";vector<int> data{1, 2, 3}; // 使用大括号初始化
};

2. 构造函数的成员初始化器列表

在构造函数参数列表后使用冒号初始化成员。

class MyClass {
public:// 成员初始化器列表MyClass(int value, const string& n) : x(value), name(n), data{1, 2, 3} {// 构造函数体}private:int x;string name;vector<int> data;
};

3. 构造函数中赋值

在构造函数体内使用赋值语句。

class MyClass {
public:MyClass(int value, const string& n) {// 构造函数体内赋值x = value;name = n;data = {1, 2, 3}; // 需要先默认构造,再赋值}private:int x;string name;vector<int> data;
};

在这里插入图片描述# 例子

class Student {
public:// 推荐:使用成员初始化器列表 + 默认成员初始化器Student(int id, const string& n) : studentId(id), name(n) // 必须用初始化列表的{// 构造函数体}// 重载构造函数Student() : studentId(0) {// 使用默认成员初始化器的值}private:const int studentId;       // const成员必须用初始化列表string name = "Unknown";   // 默认值vector<string> courses{};  // 空列表初始化int score = 60;            // 基本类型默认值
};// 使用
Student s1(123, "Alice"); // studentId=123, name="Alice", score=60
Student s2;               // studentId=0, name="Unknown", score=60
http://www.xdnf.cn/news/1458307.html

相关文章:

  • TCP协议的三次握手与四次挥手深度解析
  • 从头开始学习AI:第二篇 - 线性回归的数学原理与实现
  • 基础crud项目(前端部分+总结)
  • Flink反压问题
  • 算法 --- 分治(归并)
  • 【Markdown转Word完整教程】从原理到实现
  • VOC、COCO、YOLO、YOLO OBB格式的介绍
  • AgentThink:一种在自动驾驶视觉语言模型中用于工具增强链式思维推理的统一框架
  • 深入剖析Spring Boot / Spring 应用中可自定义的扩展点
  • elasticsearch学习(五)文档CRUD
  • 基于脚手架微服务的视频点播系统-界面布局部分(二):用户界面及系统管理界面布局
  • 02-ideal2025 Ultimate版安装教程
  • SPI flash挂载fatfs文件系统
  • 什么是静态住宅IP 跨境电商为什么要用静态住宅IP
  • More Effective C++ 条款28:智能指针
  • 稠密矩阵和稀疏矩阵的对比
  • 神马 M21 31T 矿机解析:性能、规格与市场应用
  • Python多序列同时迭代完全指南:从基础到高并发系统实战
  • vcruntime140_1.dll缺失?5个高效解决方法
  • 手机秒变全栈IDE:Claude Code UI的深度体验
  • SpringBoot实现国际化(多语言)配置
  • MySQL 8.0 主从复制原理分析与实战
  • 深入解析Java HashCode计算原理 少看大错特错的面试题
  • 多线程——线程状态
  • 并发编程——17 CPU缓存架构详解高性能内存队列Disruptor实战
  • ResNet(残差网络)-彻底改变深度神经网络的训练方式
  • linux——自定义协议
  • 多Agent协作案例:用AutoGen实现“写代码+测Bug”的自动开发流程
  • 秒店功能更新:多维度优化升级,助力商家经营
  • 当 LLM 遇上真实世界:MCP-Universe 如何撕开大模型 “工具能力” 的伪装?