首页 > 其他分享 >45. 继承中的构造和析构

45. 继承中的构造和析构

时间:2024-09-02 15:27:14浏览次数:11  
标签:父类 cout 45 构造 调用 析构 和析构


  • 继承中的构造和析构
  • 先调用父类构造,再调用其他成员构造, 再调用自身构造 ,析构的顺序与构造相反
  • 利用初始化列表语法 显示调用父类中的其他构造函数
  • 父类中 构造、析构、拷贝构造 、operator= 是不会被子类继承下去的
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;

class Base1
{
public:
	Base1()
	{
		cout << "Base1的构造函数调用" << endl;

	}

	~Base1()
	{
		cout << "Base1的析构函数调用" << endl;
	}

};


class Other
{
public:
	Other()
	{
		cout << "Other的构造函数调用" << endl;
	}

	~Other()
	{
		cout << "Other的析构函数调用" << endl;
	}
};

class Son1 :public Base1
{
public:
	Son1()
	{
		cout << "Son1的构造函数调用" << endl;
	}

	~Son1()
	{
		cout << "Son1的析构函数调用" << endl;
	}

	Other other;
};



void test01()
{
	Son1 s; //先调用父类构造,再调用其他成员构造, 再调用自身构造 ,析构的顺序与构造相反

}



class Base2
{
public:
	Base2(int a)
	{
		this->m_A = a;
		cout << "Base2的构造函数调用" << endl;
	}
	int m_A;
};
class Son2 :public Base2
{
public:
	Son2(int a = 1000 ) :Base2(a)  //利用初始化列表语法  显示调用父类中的其他构造函数
	{
		cout << "Son2的构造函数调用" << endl;
	}
};
void test02()
{
	Son2 s;
	cout << s.m_A << endl;
}


//父类中 构造、析构、拷贝构造 、operator=  是不会被子类继承下去的


int main(){
	//test01();
	test02();

	system("pause");
	return EXIT_SUCCESS;
}


标签:父类,cout,45,构造,调用,析构,和析构
From: https://blog.51cto.com/zaishu/11898405

相关文章

  • 20240902_145040 填空题小工具的配置与使用
    收到文件夹配置名称修改config中的name的值不要删双引号启动测试配置题库在数据源目录下新建一个记事本在记事本中输入问题与答案主要的问题与答案由老师提供......
  • 45. 文件的顺序读写
    1按照字符读写文件fgetc、fputc1.1.写文件#include<stdio.h>intfputc(intch,FILE*stream);功能:将ch转换为unsignedchar后写入stream指定的文件中参数:ch:需要写入文件的字符stream:文件指针返回值:成功:成功写入文件的字符失败:返回-1charbuf[]="MynameisTao.";int......
  • 关于GD32F450ZG系列板卡对RS232发送数据前后不匹配
            先说一下问题,在Keil5开发环境下对板卡上的RS232串口进行配置,要求发送0x5A一笔数据,但实际在串口调试助手中收到0xEC0xF3两笔数据,前后发送的数据不匹配。    针对这个问题,对一下几点重新检查,并确保无误:    1、检查引脚使能情况;    ......
  • Java 反射获得构造方法
        ConstructorExercisepackageConstructorExercise20240831;importClassReflect20240831.Student;importjava.lang.reflect.Constructor;importjava.lang.reflect.InvocationTargetException;publicclassCreateInstance{publicstaticvoidmain......
  • 51c大模型~合集45
    #OpenAI家庭机器人NEO登场动作丝滑逼近人类!穿着西装的「人」却专做家务OpenAI支持的明星初创1XTechnologies,发布了最新的通用家务机器人NEO。不仅外形自然拟人,还有仿生设计带来的丝滑动作。不想干的家务,真的可以让机器人帮忙了!继Optimus和擎天柱之后,人形机器人领域又闯入一员猛将......
  • 455. 分发饼干
    假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >=g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子......
  • eladmin (文件上传+文件删除)(cve-2024-7458)
    侵权声明本文章中的所有内容(包括但不限于文字、图像和其他媒体)仅供教育和参考目的。如果在本文章中使用了任何受版权保护的材料,我们满怀敬意地承认该内容的版权归原作者所有。如果您是版权持有人,并且认为您的作品被侵犯,请通过以下方式与我们联系:[[email protected]]。我们将在确......
  • 《NET CLR via C#》---第八章(类的实例构造器,结构的实例构造器,类型构造器,操作符重载方
    类的实例构造器构造器是将类型的实例初始化为良好状态的特殊方法。构造器方法在“方法定义元数据表”中始终叫做.ctor(constructor的简称)。创建引用类型的实例时,首先为实例的数据字段分配内存,然后初始化对象的附加字段(类型对象指针和同步块索引),最后调用类型的实例构造器来设置对象......
  • CVE2024-4577 成因梳理
    CVE-2012-1823提到PHP-CGI有关的漏洞就不得不提起CVE-2012-1823该漏洞利用php-cgi将用户传入的cgi数据中的query_string部分的-后参数当做了脚本的处理参数处理攻击者可以利用-d参数修改配置项实现远程命令执行的效果也可以-i读出源码当时这个漏洞被apache修复了修复的方......
  • P7045 「MCOI-03」金牌
    题意简述给你\(n\)个数,你不知道每个数的权值。每次可以查询\(x,y\)表示查询\(x,y\)的权值是否相等,0是1否。你需要在\(2n-2\)次查询之内将这些数排成一个相邻两个数的权值不同的数列,并构造出来,或者报告无解。分析考虑在什么情况下会无解。如果存在一种数使得等于......