C++构造函数原则

  今天没事看了下C++的构造函数原则,顺便做个笔记,毕竟好记性不如烂笔头,废话不多说,直奔主题了了。

  C++构造函数原则归结起来有下面的几条:

1、如果子类没有定义构造函数,则子类默认调用父类无参数的构造函数。

2、如果子类定义了构造函数,不管子类的构造函数是有参数还是没有参数的,在创建子类时,没有显示调用父类的构造函数,则首先调用父类的无参的构造函数,在调用子类自己的构造函数。

3、在创建子类的时候,如果子类没有显示调用父类的构造函数,父类定义了自己无参数的构函数,这时会首先调用父类无参的构造函数。

4、在创建子类对象时,如果子类没有显示调用父类的构造函数,且父类仅仅定义了有参数的构造函数,则会报错。正确的方法是子类必须显示调用父类的有参数的构造函数,

5、在创建子类对象时,如果子类显示调用了父类的构造函数,此时子类必须使用初始化类表来初始化父类构造函数。

 

  以上,归结起来就是子类必须先调用父类的构造函数,再调用自己的构造函数。

 

posted @   1点er执着  阅读(321)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示