问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++构造函数后面加个冒号是做什么的?

发布网友 发布时间:2022-05-31 22:13

我来回答

2个回答

热心网友 时间:2023-10-31 19:44

在C++类的构造函数中经常会看到如下格式的写法:

MyWindow::MyWindow(QWidget* parent , Qt::WindowFlags flag) : QMainWindow(parent,flag)
上述语句中单冒号(:)的作用是表示后面是初始化列表,一般有三种使用场景。

1、对父类进行初始化

调用格式为“子类构造函数 : 父类构造函数”,如下,其中QMainWindow是MyWindow的父类:

MyWindow::MyWindow(QWidget* parent , Qt::WindowFlags flag) : QMainWindow(parent,flag)
2、对类成员进行初始化

调用格式为“构造函数 : A(初始值),B(初始值),C(初始值)……”,如下,其中A、B、C分别是类的成员变量:

class rectangle //头文件中类定义
{
public:
rectangle( int pointX, int pointY, int Width, int Length );
private:
CPoint m_point;
int m_Width;
int m_Length;
};

rectangle::rectangle(int pointX, int pointY, int Width, int Length) : m_point(pointX,pointY),m_Width(Width),m_Length(Length)//源文件中构造函数实现
{
todo......
}
当然,上面构造函数的实现与下面的写法等价

rectangle::rectangle(int pointX, int pointY, int Width, int Length)//源文件中构造函数实现
{
m_point.X = pointX;
m_point.Y = pointY;
m_Width = Width;
m_Length = Length;
todo......
}
3、对类的const成员变量进行初始化

由于const成员变量的值无法在构造函数内部初始化,因此只能在变量定义时赋值或使用初始化列表赋值。

对于2、3中的应用场景,有以下两点说明:

1、构造函数列表初始化执行顺序与成员变量在类中声明顺序相同,与初始化列表中语句书写先后无关。

2、相对于在构造函数中赋值,初始化列表执行效率更高。
————————————————

热心网友 时间:2023-10-31 19:44

初始化列表,跟在{}里面的初始化没有什么不同,但在非静态const类型以及引用型成员变量必须在初始化列表里面初始化,不能在{}里面初始化.A(b)就是用父类的构造函数进行一部分初始化.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
erp可以看评论地址吗 淘宝评论url是什么意思? 揭秘:码牌支付风控升级,背后真相揭秘 电脑电视直播软件哪个好用什么软件好电脑看电视直播 潼南子同街学区是哪些 三极管BU406价格和参数? 火锅料放在冰柜忘了插电一个星期给会坏了吗 火锅的设备有哪些 火锅餐厅厨房有哪些 小火锅厨房设备有哪些 怎样用修改器修改天天酷跑钻石。 怎样用烧饼修改器改每天酷跑的钻石和分数 lookattheears!是什么意思 模拟山羊:这些人中举牌子的是什么? point 和sharp都是尖的意思有什么区别吗? pointy-headed是什么意思? pniteo能组成什么单词? 笔记本电脑闪烁不停而且大部分是红色线条闪烁,请问是啥地方坏了? 笔记本电脑出现闪线 笔记本电脑刚开机屏幕有很多闪烁线条,开机几分钟后线条会自己消失,又正常了,这是哪里出问题? 阳泉地区有木有参加这次山西省公*的人啊!有的话求陪同复习! 阳泉党群、乡镇公务员面试培训咨询电话是多少? 请问在山西阳泉哪里有卖考从业资格证和考公务员的参考书啊!有哪位好心人知道请帮帮忙!急需!谢谢~ 公务员面试培训阳泉哪家好 阳泉那个机构的公务员面试班比较好? 阳泉有没有免费培训事业单位笔试,公务员考试的机构? 阳泉公务员培训班哪个好?谢谢,有知道的大人告知大哥一下,公务员面试名单在那里? 阳泉辅导公务员的考试,有什么培训机构 国考公务员快要开始了!!有什么好的培训班吗?我是山西阳泉的!! 为何珠海市违章调头不能在自助机上处理 狐狸叫的英文歌词是什么? 无线电视有信号看不了是怎么回事 烧饼修改器怎么用天天酷跑改钻石 HDMI线接好了!在电视信号源里找不到这个咋办? 天天酷跑葫芦侠3.3.3.2版怎么修改钻石啊! HDMI连接不了电视啊。电视搜索不到输入。 无线电视里的电视信号图象信号是通过哪种波传输的? 天天酷跑和风小鹿在进击刷分怎么样 电视机找不到hdmi接口 天天酷跑星星钥匙有什么用 星星钥匙怎么获得 天天酷跑首次充值送双倍钻石 充多少得多少 天天酷跑苹果版能修改钻石吗? 葫芦侠修改器可以修改钻石吗 昆明市呈贡县有几个昆明市呈贡县有几个区 雷霆战机除8门神器、叉叉、葫芦侠++还有甚么辅助 天天酷跑魔神战车和神兽年年哪个好 天天飞车为什么不能送钻石给别人 昆明呈贡区春晖城市建设有限公司怎么样? 昆明理工大学呈贡校区c85在哪坐 蓝绿色翡翠值钱吗蓝绿色翡翠是不是值钱