C++构造函数的几个难点(基于C++ 11)

本文介绍了C++构造函数的几个关键知识点,包括默认构造函数的生成规则,C++ 11中如何启用系统默认构造函数,以及初始化列表的重要性,特别是在处理const变量时。此外,文章还探讨了单继承和多继承类构造函数的工作原理,特别是处理虚基类的初始化策略,以避免重复构造。
摘要由CSDN通过智能技术生成

快要有一个月没有更新博客了,是时候再动一动笔啦!因为最近在学习C++,在学习过程中看了好多书,也在实际训练中遇到了一些问题。所以在接下来的时间里,应该会对C++里自己遇到的一些难点写几篇专题,就当是为自己梳理巩固知识啦!

我们都知道所谓构造函数就是类用来初始化各个数据成员的(非静态),如果成员都没初始化好,那么在对类的后续操作中肯定会遇到各种莫名其妙的错误。所以,我们有必要对构造函数做一个全面的了解,知道在各种情况下,构造函数都是怎样执行的,这样才能对类进行完美的控制。

默认构造函数:

class base{
public:
    base()=default;
    base(string& s1,int a1):s(s1),a(a1){}
    base(base& b):s(b.s),a(b.a){}
    void print(){cout<<s;cout<<a;}
private:
    const string s;
    int a=0;
};

首先我们都知道构造函数是支持重载的,一个类的对象可以支持多种初始化方式。那么如果类里面没有定义构造函数怎么办呢?其实无所谓,因为系统会自动对类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值