构造函数初始化列表

构造函数的初始化列表 文章目录构造函数初始化列表类A中如果有成员是其他类B的对象, 则构造函数需要使用初始化列表进行B的初始化常量的成员变量的初始化**只能**写在初始化的列表中直接在构造函数中赋值和写在初始化列表中的区别 构造函数初始化列表 类A中如果有成员是其他类B的对象, 则构造函数需要使用初始化列表进行B的初始化 person.h #pragma once #include <iostream> ... 阅读详情

1、  构造函数不能声明为const。

2、  从概念上讲,可以认为构造函数分两个阶段执行:(1)初始化阶段;(2)普通的计算阶段。计算阶段由构造函数函数体中的所有语句组成。

3、  在构造函数初始化列表中没有显式提及的每个成员,使用与初始化变量相同的规则来进行初始化。运行该类型的默认构造函数,来初始化类类型的数据成员。内置或复合类型的成员的初始值依赖于对象的作用域:在局部作用域中这些成员不被初始化,而在全局作用域中它们被初始化为 0。

4、  如果没有为类成员提供初始化式,则编译器会隐式地使用成员类型的默认构造函数。如果那个类没有默认构造函数,则编译器尝试使用默认构造函数将会失败。在这种情况下,为了初始化数据成员,必须提供初始化式。 

5、  有些成员必须在构造函数初始化列表中进行初始化。对于这样的成员,在构造函数函数体中对它们赋值不起作用。没有默认构造函数的类类型的成员,以及 const 或引用类型的成员,不管是哪种类型,都必须在构造函数初始化列表中进行初始化。   

初始化列表和构造函数区别 测试 阅读详情

相关推荐

C++ 在初始化列表中初始化和在构造函数内初始化的区别

普通构造函数函数体内初始化:(事实上都是先初始化阶段再计算阶段) #include using namespace std; class A { public: A() // 无参构造函数 { cout << "Construct A" << endl ; } A(const A& ObjA) // 拷贝构造函数 { cout a = ObjA.a; } A& o

ForestRound的博客 2406

构造函数和类成员的初始化

一、构造函数一大功能就是初始化成员变量 (1)默认的构造函数不带参数,也无初始化功能。 (2)如没有其他构造函数,默认构造函数可以省略,如果有其它构造函数,则需要写构造函数。 (3)如果在栈上分配对象的内存,不需要初始化则构造函数不加(),如果初始化需要带参。 二、成员初始化列表 (1)一般用于带参构造函数中,用来给属性传参赋值。 (2)成员初始化列表与构造函数之间用冒号隔开,列表与列表之间用逗号隔开 (3)初始化列表可以代替构造函数中的赋值语句 三、构造函数使用参数默认值 (1)class声明时可以给函数

weixin_44764479的博客 1702

R以及Rstudio超详细安装教程(包括安装过程中出现的问题)

R安装及Rstudio安装,以及安装中出现的问题

2301_76908257的博客 1万+

类构造函数初始化列表的使用

类构造函数(Constructor)的初始化列表的使用 构造函数是与类同名的函数,它与普通函数的区别在于,它没有返回类型。 在构造函数后面紧跟着冒号加初始化列表,各初始化变量之间以逗号","隔开。下面举个例子。 class myClass { public : myClass();// 构造函数,无返回类型,可以有参数列表,这里省去 ~myClass();// 析构函数 int m_a;//声明变量 const int m_b;//声明一个常量 } myClass::myClass():m_a(1),m_

qq_42755842的博客 769

中国主要湖泊水库面状矢量边界图层ArcGIS应用实战:从数据获取到专题图制作

本文详细介绍了中国主要湖泊水库面状矢量边界图层在ArcGIS中的实战应用,从数据获取到专题图制作的全流程。涵盖官方数据源、科研机构共享数据及商业平台的选择,以及ArcGIS中的数据处理、拓扑错误修正和专题图设计技巧,帮助用户高效完成湖泊水库的空间分析与可视化。

weixin_33672400的博客 250

Kubernetes集群资源优化实战:Volcano调度器如何帮你省下30%GPU算力

本文详细介绍了如何通过Volcano调度器的Binpack策略优化Kubernetes集群中的GPU资源利用率,解决AI模型训练中的资源碎片化问题。通过实战配置和调优指南,帮助用户提升30%的GPU算力利用率,显著降低任务等待时间和硬件成本。

weixin_30832143的博客 506

构造函数与初始化列表

0.初始化与赋值的区别 意义上: 1)初始化:一个变量或者一个对象在产生的时候就赋予一个值,属于伴随性质 2)赋值:在一个变量或者一个对象在产生之后的任意时刻赋予一个值,属于任意性质 宏观代码上: 1)两者作用相同 2)对于数组和结构体来说,初始化和赋值的的形式不同。对于数组,可以使用花括号一起初始化,如果赋值的话,就只能单个元素就行;对于结构体,可以使用花括号初始化,否则只能通过“....

renwu 1万+

contextcapture多区块点云_多源点云数据融合的建筑物精细化建模

本文内容来源于《测绘通报》2020年第8期,审图号:GS(2020)3611号多源点云数据融合的建筑物精细化建模王树臻1, 郑国强1, 王光生1, 胡玉民2, 张德怀2, 亓伟3 ...

weixin_36301639的博客 1824

C++构造函数体内初始化与列表初始化的区别

本文探讨C++构造函数体内初始化与列表初始化的区别: 结论是: 若某个类(下文的class B)有一个类成员是类类型(下文的class A),那么 1、若类B通过构造函数体内初始化,会先调用类A的默认构造函数(无参构造函数),再调用类A的赋值运算符; 2、若类B通过初始化列表去初始化,则只调用类A的拷贝构造函数。 另外,虽然对于成员类型是内置类型的情况,通过上述两种情况去初始化是相同的,但是为了标...

weixin_41675170的博客 5387

Autowired的使用介绍

我们都知道在spring中@Autowired注解,是用来自动装配对象的。@Service@Autowired没错,这样是能够装配成功的,因为默认情况下spring是按照类型装配的,也就是我们所说的byType方式。此外,@Autowired注解的required。

白话机器学习 1349

Open3D 点云DBSCAN聚类算法

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,能够识别任意形状的聚类,并处理噪声数据。

纵马踏花向自由 1833

C++学习之路-构造函数的初始化列表

初始化列表何为初始化列表初始化列表的本质初始化列表的优势初始化列表中列表顺序问题初始化列表与默认参数的配合使用初始化列表的注意之处构造函数的声明和实现分离时,初始化列表需写在实现里子类调用父类的构造函数初始化列表总结 何为初始化列表 定义:一种便捷的初始化类内成员变量的方式。 初始化成员变量通常在构造函数里执行,如下例所示。成员变量的初始化可以通过调用有参的构造函数进行传参初始化,也可以通过调用无参的构造函数在函数体内部直接初始化(可以看我之前的博文)。下例展示了调用有参的构造函数始化成员变量的方式。

weixin_45452278的博客 1万+

YOLOv8进阶实战:融合SAHI超推理算法,在无人机应用中精准捕捉视频与图片中的微小目标

YOLOv8改进是一种先进的目标检测算法,通过引入辅助超推理算法SAHI推理,使得小目标无法逃避检测。SAHI推理算法结合视频和图片的特点,利用先进的超推理技术,提高了目标检测的准确性和鲁棒性。不仅如此,YOLOv8改进还支持对视频和图片进行实时的目标检测,将检测结果直观地呈现给用户。这一技术的应用范围广泛,可以用于安防领域,提升监控设备的性能和效率;也可以用于无人驾驶领域,实现精准的目标识别和跟踪。总之,YOLOv8改进是一项具有突破性的技术,为目标检测领域带来了重大的进展。

weixin_51988935的博客 806

类——构造函数之初始化列表

​ 在我们已经基本了解了类的由来,和其六大基本默认函数后,此时我们再回过头来看,其中的构造函数。在前文已经说过构造函数的作用为初始化成员变量,但是真的就这么简单了吗?如果成员变量为常变量(const)那还能构造成功吗?在构造函数体内部,我们直接可以用类的成员变量来赋值,但是在调用构造函数前是没有这个类对象的,既然都没有这个类对象,哪前面我们直接用来赋值的类中的成员变量是哪里来的?

qq_68140277的博客 6241

【实战】CANOE实现UDS安全访问过程的CAPL脚本

首先我已经有了包含安全访问算法的dll文件,并通过Diagnostics/ISO TP Configuration中加载了此dll文件,如下。在on start部分,要将“ECU qualifier“作为参数,执行diagSetTarget函数。这个函数是用于设置tester从现在开始与之通信的目标ECU,并配置/建立与该ECU的通信通道。我最近在做密钥学习上位机时,遇到一些问题:如何用CAPL脚本实现安全访问过程?ECU Qualifier可以通过加载cdd文件后,在如下位置找到。CAPL脚本如何编写。

weixin_46481662的博客 4938

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【C++笔记】构造函数初始化列表

90% C++ 新手都会踩的坑:你的成员变量真的初始化了吗?

一枚菜鸟程序员的飞行之路 1675

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C++构造函数之初始化列表

C++构造函数的初始化列表详解

长岛冰茶去冰的博客 6748

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C++构造函数的初始化列表

构造函数的初始化列表 当一个类的成员变量是另一个类的对象时 例: #include&lt;iostream&gt; using namespace std; class A{ public: A() { cout&lt;&lt;"A()"&lt;&lt;endl; } A(int x) { this-&gt;x=x; cout&lt;&lt;"A(int x)"&l

灲咲的博客 3505

类的构造函数的初始化列表

先知道构造函数的简单使用再懂得初始列表:初始化列表是介于函数参数列表后面括号与函数体大括号之间的,冒号开始,逗号分割,成员变量后面跟括号给初始值或表达式

winterright的博客 1025
上一篇: 类作用域中的名字查找
下一篇: 默认构造函数
Tsinting
博客等级 码龄10年 3粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值