C++总结:类的继承基础

本文介绍了C++中类的继承基础知识,包括类的继承特性,构造函数和析构函数的处理,以及类型兼容规则。重点讲解了派生类如何处理基类的构造和析构,以及何时和如何使用复制构造函数。
摘要由CSDN通过智能技术生成
C++总结:类的继承基础
2019-4-12
1. 类的继承
class 派生类名: 继承方式 基类1, 继承方式 基类2...
{
   
    派生类成员声明
}

基类的构造函数和析构函数不能被派生类继承。

如果派生类中出现了和基类中名称相同的函数,则基类的函数会被隐藏

2. 构造函数、析构函数

2.1 构造函数

如果无需对派生类使用参数初始化,可以不写构造函数。此时系统会隐性写一个默认构造函数,该函数会使用基类的默认构造函数对继承自基类的成员进行初始化,并调用类成员对象的默认构造函数对其进行初始化。

派生类构造函数的一般语法:

派生类名::派生类名(参数表):基类名1(该基类初始化参数), ... 基类名n(该基类初始化参数), 成员对象名1(该成员初始化参数), ..., 成员对象名m(该成员初始化参数)
{
   
    派生类函数体;
}

构造函数的执行顺序:

    1.  按照继承时声明的基类顺序,调用各个基类的构造函数;
    2.  按照派生类中新增成员在类中声明的顺序,对各新增成员进行初始化;
    3.  执行派生类构造函数的函数体。
#include<stdio.h>
class Base1{
   
    public:
       Base1(int i){
   printf("Constructing Base1 %d\n",i);}
};

class Base2{
   
    public:
       Base2(int i){
   printf("Constructing Base2 %d\n",i);}
};

class Base3{
   
    public:
       Base3(){
   printf("Constructing Base3\n");}
};

class Derived: public Base1, public Base2, public Base3{
   
    public:
    Derived(int a, int b, int c, int d):Base1(a), member2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值