C++派生类的构造函数和复制控制函数

本文详细介绍了C++派生类中构造函数、复制构造函数、赋值运算符和析构函数的工作原理。派生类的构造函数不仅要初始化自己的数据成员,还需通过基类构造函数初始化基类数据成员。复制构造函数中,编译器默认行为是调用基类的默认复制构造函数,而在自定义复制构造函数时应显示指定基类的复制构造函数。派生类的析构函数不负责撤销基类对象,但应声明为虚函数以确保正确调用派生类的析构函数。文章还包含相关测试代码和链接,以帮助理解这些概念。
摘要由CSDN通过智能技术生成

复制成员和构造函数是不能被继承的。每个类定义自己的,如果没有,编译器将自己生成。

派生类对象由派生类中定义的(非static)成员加上一个或者多个基类子对象构成,因此影响是派生类对象的一些操作,对于它的操作同时也会对基类对象进行操作。只影响其直接基类的对象的操作。

一、派生类的构造函数

派生类的构造函数,受继承关系影响,不单要初始化自己的数据成员,还要通过基类构造函数初始化基类数据成员。

     1.1编译器为派生类生成的默认的构造函数,首先调用其基类的构造函数,按照继承顺序来调用基类的默认构造函数。然后就可以按照规则对派生类自己的默认构造函数来进行。

     1.2自己定义自己的构造函数,对于派生类的成员可以按照之前的规则进行,但是如果在初始化列表里没具体指定其基类的构造函数,则会调用基类的默认构造函数。

二、派生类的复制控制

派生类是否需要复制控制取决于类自身的直接成员。

复制构造函数

     2.1编译器生成的默认的复制构造函数,先使用基类的默认复制构造函数,然后再对派生类的数据成员进行复制。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值