C++类和对象(6)——初始化列表

news2024/9/19 10:43:46

一般的初始化

class A
{
public:
	A(int a)
	{
//一般的初始化,在{}括号里面给成员变量赋值
		_a = a;
		cout << _a << endl;
	}
	~A() {}

private:
	int _a;
};

用 初始化列表 初始化

当成员变量是以下两种情况时,

必须使用初始化列表!

const int _b;
int& _c;

当然,我们可以在声明时就写 const int _b =  3,这样也可以初始化。。

但还是推荐下面这种,格式为 类名 + (形参)+ ‘ :’ +  变量名(形参) +   {}

class A
{
public:
	A(int a, int b, int& c):
		_a(a),
		_b(b),
		_c(c)
	{
		cout << _a << " " << _b << " " << _c << endl;
	}
	~A(){}

private:
	int _a;
	const int _b;
	int& _c;
};

注意事项

初始化的顺序是按成员变量的声明的顺序,而不是按在初始化列表里的顺序。

举个例子:

声明的顺序是:_a, _b;

初始化的顺序是:_a(a), _b(a).

再举个栗子:

声明的顺序是:_b,_a;

初始化的顺序是:_b(a),_a(a).

此时a未初始化,是一个随机值,赋给了_b,导致 _b 是随机值;

随后_a正常初始化为1。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2091829.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单自由度无阻尼系统振动分析

特别感谢&#xff1a;https://www.bilibili.com/video/BV114411y7ab/?p6&spm_id_frompageDriver&vd_sourceebe07816bf845358030fc92d23830b29 本文图片该系列视频 tips&#xff1a;关于特征方程与振动方程&#xff1a; 特征方程有助于我们理解和确定系统的固有频率和模…

【算法】贪心算法解析:基本概念、策略证明与代码例题演示

文章目录 1. 什么是贪心算法&#xff1f;2. 贪心算法的特点3. 例题&#xff08;贪心策略&#xff09;① 找零问题② 最小路径和③ 背包问题 4. 贪心策略证明 1. 什么是贪心算法&#xff1f; 在学习贪心算法之前&#xff0c;一定要理解的是贪心策略&#xff1a; 贪心策略是一种…

Ubuntu中qt类与类信号槽的创建及使用

今天学习到了新的一个小玩意&#xff0c;我们在QT中创建一个大项目的时候一般会创建多个类&#xff0c;那我们就来学习一下如何在自定义的类中声名和使用信号与槽函数。 首先我们CTRLn来创建我们新的类&#xff1a; 我们创建新的C的类&#xff0c;一个School&#xff0c;一个S…

举办知识竞赛是线上好还是线下好

举办知识竞赛线上和线下各有优势&#xff0c;选择哪种方式取决于具体的需求和条件。 线上举办知识竞赛的优缺点&#xff1a; 优点&#xff1a; 便捷性&#xff1a;线上竞赛不受地域限制&#xff0c;参与者可以在任何有网络的地方参与。 选手数&#xff1a;可以同时满足人数较…

单门店共享自习室小程序系统源码搭建对接门禁和空开api

共享自习室小程序&#xff0c;单门店共享自习室小程序&#xff0c;有源码&#xff0c;对接门禁和电控api接口&#xff0c;php开发语言&#xff0c;前端是uniapp。可以源码搭建&#xff0c;也可以二开或定制。 一 用户端 在线选择预约时间&#xff0c;选择座位&#xff0c;选择…

macOS搭建Python3.11+Django4.2.15的平台框架使用Poetry管理

最近想使用Python开发&#xff0c;使用Django框架搭建平台&#xff0c;之前没有使用过Python&#xff0c;所以记录下整个过程&#xff1a; 1、Python版本的选择&#xff0c;直接去官网【Download Python | Python.org】看最新稳定版是哪个版本&#xff0c;选择安装&#xff0c…

Ascend C算子开发(入门)—— 什么是算子?

文章目录 Ascend C算子开发&#xff08;入门&#xff09;—— 什么是算子&#xff1f;一、从人工智能到算子1.1 人工智能的四个层面1.2 人工智能之三大流派1.3 算子、神经元、神经网络 二、算子的基本概念2.1 算子在数学中的定义&#xff1a;2.2 算子基本概念 —— 总览2.3 算子…

利用clip模型实现text2draw

参考论文 实践 有数据增强的代码 import math import collections import CLIP_.clip as clip import torch import torch.nn as nn from torchvision import models, transforms import numpy as np import webp from PIL import Image import skimage import torchvision …

基于单片机的楼宇消防控制系统设计

本设计基于单片机的楼宇消防控制系统&#xff0c;主要包括温湿度检测模块、空气质量检测模块、火焰检测模块、ZigBee通信模块、报警模块和自动喷水模块。首先&#xff0c;系统通过温湿度检测模块实时监测楼道内的温湿度状况&#xff0c;以便及时掌握火灾发生前的环境变化。其次…

足底筋膜炎怎么治疗效果好

足底筋膜炎的症状 足底筋膜炎是一种常见的足部疾病&#xff0c;主要表现为足底区域&#xff08;尤其是脚跟附近&#xff09;的疼痛和不适。这种疼痛在早晨起床或长时间休息后初次站立时尤为明显&#xff0c;被形象地称为“晨间痛”。随着行走时间的增加&#xff0c;疼痛可能会…

直击源头!劳保鞋厂家揭秘机械制造业防护安全鞋挑选秘籍

在机械制造业这一高风险、高强度的行业中&#xff0c;选择合适的劳保鞋对于保障工人的安全至关重要。作为劳保鞋的生产厂家&#xff0c;我们深知一双优质的防护鞋能为工人提供怎样的保护。今天百华小编和大家从多个维度看一下机械制造业是如何挑选防护安全鞋的挑选秘籍&#xf…

四款远程控制分享!你pick哪一款?

远程控制软件已经成为我们日常生活中不可或缺的一部分&#xff0c;无论是远程办公、技术支持还是家庭娱乐&#xff0c;这些软件都扮演着重要的角色。今天&#xff0c;我们就来聊聊几款市面上比较热门的远程控制软件在电脑远程操作上都有哪些表现呢&#xff1f;让我们一探究竟。…

ArkTS语法题

1. 下面示例中会导致编译报错的有&#xff1f; A. let x: number null&#xff1b; B. let x: number | null null&#xff1b; C. let y: string null&#xff1b; D. let y: string 100&#xff1b; 看来GPT对这种标准概念选择&#xff0c;也没有统一的说法。 - 文心…

【3.8】贪心算法-解无重叠区间

一、题目 给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量&#xff0c;使剩余区间互不重叠 。 示例 1: 输入: intervals [[1,2],[2,3],[3,4],[1,3]] 输出: 1 解释: 移除 [1,3] 后&#xff0c;剩下的区间没有重叠…

ImportError: Missing optional dependency ‘openpyxl‘.报错已解决

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引言&#xff1a; 在开发过程中&#xff0c;你是否遇到过导入模块时出现ImportError: Missing optional dependency openpyxl的…

绘制YOLOv9训练结果的mAP0.5变化曲线

本文绘制mAP0.5在训练过程中的变化曲线&#xff08;Python脚本&#xff09;&#xff0c;用以比较不同算法的收敛速度&#xff0c;最终精度等&#xff0c;并且能够在论文中直观的展示改进效果。 以下是比较了三个模型的mAP0.5变化曲线&#xff0c;数据来源是直接读取三个训练完…

Flink1.14.* 各种算子在StreamTask控制下如何调用的源码

前言&#xff1a;一、StreamTask执行算子的生命周期二、 Source的streamTask用的是SourceStreamTask三、基础转换操作&#xff0c;窗口用的是OneInputStreamTask1、初始化OneInputStreamTask2、StreamTask运行invoke调用的是StreamTask的processInput方法3、从缓冲区获取数据放…

从0到DevOps(1)-初步了解DevOps和容器

DevOps从提出以来陆续成为行业普遍实践&#xff0c;目前是数字化生产普遍不可或缺的信息底座。本系列文章旨在系统性的阐述与认识DevOps, 了解企业实践里DevOps的实际面貌。 什么是DevOps? DevOps 是一套实践、工具和文化理念&#xff0c;为实现用户不断的软件功能和可用性要…

学会这5个AI变现方法,让你在小红书上轻松赚钱!

大家好&#xff01;最近AI真是大火&#xff0c;尤其是ChatGPT、Midjourney这些AI工具&#xff0c;感觉不搞点AI相关的内容&#xff0c;都跟不上潮流啦&#xff01; 作为一个深耕小红书的内容创作者&#xff0c;我发现AI其实在小红书上有着巨大的变现潜力。 那么&#xff0c;如…

C--四种排序方法的补充

上一篇文章因为时间原因只写了三种&#xff0c;这一篇来补充第四种&#xff0c;第四种的代码更多&#xff0c;所需要理解的也是更多的。 堆排序 想要学会堆排序&#xff0c;你必须了解二叉树的内容。堆排序的排序速度也是非常的快。 这里都已大堆为例 1.向上调整算法&#…