蓝因子 类对象

先来讨论第一种情况:类中有一个或多个类对成员,而类对象成员又有一个默认的构造函数

如果类中这种情况,则编译器会为类合成一个默认的构造函数,其构造函数内部做到工作只是调用该对象成员的默认构造函数,这个时候就是编译器【需要的时候】,当有多个对象成员时,编译器调用他们构造函数的顺序是按照他们在类中声明的顺序。

对于该类的其他简单成员,编译器不会对其进行初始化,这部分工作则需要又程序员来完成。

二、当类继承子一个基类,而这个基类有一个默认构造函数

如果程序员没有为该类声明构造函数 (而非默认构造函数),那么编译器会为该类合成一个默认构造函数。

特别的,当该了声明了若干个构造函数,而没有默认构造函数时,编译器则不会为该了合成默认构造函数,此时,编译器会去扩展现有的构造函数,在内部先去调用父类的默认构造函数,如果同时有类对象成员,那么去调用该类对象的默认构造函数,最后调用程序员的手动初始化代码。

三、当类声明了一个或多个虚函数时

四、当类派生自一个继承链,其中有一个或多个虚基类时

这两种情况都涉及到虚函数表指针 vtpr 的问题,所以都需要生成默认的构造函数来设置 vtpr 的合法值。

扩张行为:一个虚函数表 (存放虚函数的地址), 一个虚函数表指针 (指向虚函数表)

PS:两个误解:1 任何类如果没有定义默认构造函数则编译器会合成一个出来 2 编译器合成出来的默认构造函数会显式设定类中每个数据成员的默认值。

这两个都是错误的!

今日霍州(www.jrhz.info)©️

特别声明:[蓝因子 类对象] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

小米影像出结果,荣耀官宣大事,OPPO新机预售,vivo新机要发布(小米影像出结果怎么办)

也是在今天OPPO Reno15C正式开启预售,正式发售日期为12月19日。 根据官方的信息华为nova 15系列将在12月22日正式发布,随后官方正式公布了三款机型的外观设计以及存储组合等等,目前华nov…

小米影像出结果,荣耀官宣大事,OPPO新机预售,vivo新机要发布(小米影像出结果怎么办)

一天爆4瓜,顶流疑婚变,男星塌房道歉,职场霸凌互撕,个个离谱

三年不同框,一个在北国拍戏,一个在南方活跃,这南北相望的行程,让网友不禁戏谑:“这哪里是夫妻,分明是素未谋面的网友!”他竟声称对不起“时间管理大师”这个“褒义词”,怪自己让它蒙尘;又在采访中阴阳怪气,暗指“先…

一天爆4瓜,顶流疑婚变,男星塌房道歉,职场霸凌互撕,个个离谱

欧洲制药公司开发出通用型流感疫苗可应对多种变异毒株进入三期临床试验(欧洲药企)

近日,欧洲某知名制药公司成功研发出一种通用型流感疫苗,该疫苗能有效应对多种变异毒株,标志着流感防控领域取得了重大突破。前两期临床试验主要评估了疫苗的安全性和免疫原性,结果显示该疫苗具有良好的安全性,并能有效激…

欧洲制药公司开发出通用型流感疫苗可应对多种变异毒株进入三期临床试验(欧洲药企)

阿尔忒弥斯美伢:姐的脸是原装,但心态是Plus Max!(阿尔忒弥斯美伢真名史丹丹)

更绝的是,她把“被怀疑整了”当成颜值KPI:“说明我状态好到像返厂升级,谢谢认可!” 说到底,这年头女『明星』️最怕“脸崩”热搜,美伢倒好,自己把话题撕成流量红包🧧:没整就是没整,保养是保养,姐敢素颜直播,也敢怼镜…

阿尔忒弥斯美伢:姐的脸是原装,但心态是Plus Max!(阿尔忒弥斯美伢真名史丹丹)

儒佳科技对MLCC陶瓷浆料均一性的一体化解决方案(江苏儒佳机械制造有限公司)

在MLCC行业中,理想的BaTiO3粉体应具备分散性良好、低烧结温度、高致密度、高介电常数、低介电损耗、稳定的批次质量和规整的颗粒形态。 固相法、共沉淀法、凝胶法等合成方法,都有研磨工艺,对于好的品相的钛酸…

儒佳科技对MLCC陶瓷浆料均一性的一体化解决方案(江苏儒佳机械制造有限公司)