菜鸟森林:C++之 继承中的构造和析构函数

本文探讨了C++中继承的概念,详细解释了派生类的构造过程,包括派生类如何初始化基类和自身新增成员。重点介绍了构造函数的语法和实例演示,同时阐述了构造和析构的调用顺序:构造时从父类到子类,析构时从子类到父类。此外,还讨论了类型兼容性原则,子类对象可以被视为父类对象使用,包括赋值、初始化和指针引用等情况。
摘要由CSDN通过智能技术生成
  1. 继承中的构造
    1.1 首先来说下派生类
    【1】派生类的组成 = 基类继承而来的成员 + 派生类类中 新增加的成员 。
    【2】特点:从基类继承过来的表现与基类所表现其共性,而新增加的成员体现了其个性
    【3】派生类的构造函数:
    由基类继承而来的成员 初始化: 由基类的构造函数完成,
    派生类类中新增加的成员 初始化 :在派生类的构造函数中初始化

    1.2 语法:
    派生类类名::派生类类名(总参列表):基类名(参数列表),子类中成员变量(参数列表)
    内嵌子对象1(参数列表1),内嵌子对象2(参数列表2)
    {
    }
    1.3 Demo实现

	class Derive : public Base
	{
   
	public:
	    //派生类的构造函数
	    Derive(int Base_a,int Der_d,int A_a,int B_b)
	        :Base(Base_a),Derive_d(Der_d),a(A_a),b(B_b)
	    {
   
	        
	    }
	private:
	    int Derive_d;
	    A a;
	    B b;
	};

  1. 继承中构造和析构调用原则
    构造:父类 ----> 内嵌子对象 -----> 子类自己
    析构:子类自己 — 内嵌子对象 ----> 父类

    注:当父类的构造函数有参数时,需要在子类的初始化列表中显示调用,如果有多个内嵌对象,调用顺序跟声明顺序有关

    2.1 demo实现

	class Base
	{
   
	public:
	    Base
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值