构造函数和析构函数

C++期末考试复习一 一、选择题(每小题2分,共40分) 1、C++是( )。 A. 面向对象的程序设计语言 B. 面向过程的程序设计语言 C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言 D. 非结构化的程序设计语言 2、面向对象程序设计思想的主要特征中不包括( )。 A. 封装性 B. 多态性 C. 继承性 D. 功能分解,逐步求精 3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入: Microsoft Visual Studio 阅读详情

              其实在学习的过程中就应该多做做总结,在学习C#的时候,好几个新的点都没有做好总结,导致在设计模式中概念就模棱两可。现在不得不回去继续回炉深造。

什么是构造方法?

       构造方法也叫构造函数,在学习C#和设计模式的时候用的非常多。构造函数就是对类进行初始化。构造方法和类同名,不需要void,没有返回值,在new时候调用。在类创建过程中,就调用了构造函数。

 

       大家给移动客服打电话的时候,都会听到对面一个话务员甜美得声音说:这里是河北移动,很高兴为您服务。

我们用VS来写一段代码:

Private void button1_click(object sender,EventArgs e)
{
	Operator operator=new Operator();//实例化对象waitress
	MessageBox.Show(Shout());
}

class Operator
{
	Public string Shout()     //声明方法
	{
		Return"河北移动,很高兴为您服务";
	}
}

       以上代码就可以在点击button时,服务员就说欢迎光临。

       但是你要知道一般这些话务员都不是属于移动的员工,而是移动请的外包公司。所以话务员就有可能给不同的公司进行工作。那么这该怎么办呢?这里就用到了构造函数。

       话务员说的话可以是:这里是河北联通,很高兴为您服务

       我们需要提前对构造函数进行定义,不然系统默然生成空的构造函数,而我们需要有参数的函数,所以一定要进行定义。

修改:

class Operator
{
	private string companyname="";//声明company类的私有字符串变量
	public Operator(string companyname)//
	{
		this.companyname=companyname;
	}
	
	public string Shout()
	{
		return"这里是"+companyname+"很高兴为您服务"
	}
}

	private void button_click(object sender,EventArgs e)
	{
		Operator operator=new Operator("河北联通");
		MessageBox.Show(operator.Shout());
	}

          使用构造函数的好处就是,在类创建之初就可以为它传进参数,实例化对象就可以有具体的数据。

        当然在学习完构造函数的时候,就会发现紧接着还有一个析构函数,析构函数是啥,简单点来说,就是给构造函数善后的。当对象所在函数都调用完后,要退出的时候,析构函数就自动的开始执行,把new的内存空间使用delete释放了。如果不使用析构函数释放内存空间,就会造成内存泄露,在程序运行过程中,这个内存就没办法得到复用,造成空间资源浪费。

 

 什么是析构函数?

       以C++为例,析构函数名也应与类名相同,只是在函数名前面加一个位取反符~。它不能带任何参数,也没有返回值(包括void类型)。只有一个析构函数,不能重载。

       以下是它的代码:

class T
{
public:

~T()
};
T::~T()        
{
//函数体
}


     小知识:构造函数和析构函数都没有返回值 。对类的成员函数进行调用的时候,要在类外进行,同时使用“::”说明它的作用域。


    知识还不成熟,需要继续努力。里面会有很多的错误,欢迎大神们指正。


Python实战:如何用高德API批量获取POI数据(附完整代码) 本文详细介绍了如何使用Python通过高德API批量获取POI数据,包括API基础准备、核心功能模块设计、高级功能实现及实战应用案例。文章提供了完整代码示例,帮助开发者高效解决商业网点分析、公共设施规划等实际项目中的数据采集需求。 阅读详情

相关推荐

电工识图入门:从电气符号到控制逻辑的完整指南

电工图纸是电气工程领域的通用语言,无论是设备安装、线路检修还是系统设计,看不懂图纸就像航海没有海图。很多初学者面对复杂的电气符号和线路走向感到无从下手,实际上只要掌握正确的识图方法,就能从简单的照明电路逐步过渡到复杂的自动化控制系统。 本文将从最基础的电气符号和图纸类型讲起,通过实际图纸案例解析,带你建立完整的识图逻辑。你将学会如何区分主回路和控制回路,如何追踪电流路径,以及如何结合图纸进行故障排查。无论你是电工新手、设备维护人员还是相关专业学生,这套方法都能帮你快速提升图纸理解能力。 1. 电气图纸基础:

chengyixian7877的博客 337

构造函数与析构函数

构造函数 构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化。每个类都有构造函数,即使没有声明它,编译器也会自动提供一个默认的构造函数。使用构造函数时需要注意以下几个问题 构造函数名与类名相同 构造函数没有返回类型 构造函数的主要作用是完成对类的对象初始化 创建类的对象时(用new关键字),系统自动调用构造函数,即必须使用操作符new来调

ahao214——Dreamspace 643

cosmos-curate工业级视频数据预处理引擎/终端用户指南( end-user-guide)

摘要:Cosmos-Curate是一个用于视频和自动驾驶数据处理的开源工具,提供从本地到集群的完整部署方案。文档针对三类用户:终端用户(配置运行现有管道)、开发者(修改/创建管道)和贡献者(改进代码库)。核心功能包括容器化设计(Docker+NVIDIA工具链)、多平台支持(本地/Slurm/云)、集成HuggingFace/NGC模型,以及可扩展的管道架构。使用需满足硬件(如Ampere架构GPU)和软件(Ubuntu22.04+Python3.10)要求,通过CLI工具构建镜像、下载模型并运行示例管道(

qq_45053161的博客 1203

C#学习——构造函数和析构函数

构造函数和析构函数 构造函数: 定义:     构造函数是一种特殊的方法。也叫构造方法,主要用来在创建对象时初始化,并且可以在构造函数中对对象进行初始化,总与new运算符一起使用。构造函数是用来创建对象的特殊方法,方法名和类名一样,没有返回值,连void都不用。但构造函数可以有参数,new对象的时候传递函数参数即可。    如果不指定构造函数,则类中会自动生成一个默认的无参构造函数,如

没有所谓的命运,只有不同的选择! 1076

android广告SDK原理详解(附源码)

广大的开发者吃糠咽菜开发了一两款APP,获取了一些流量后自然就会想到流量变现,一般情况下大家会选择到百度联盟或者Google Admob这些广告服务提供商注册开发者账号,在自己的APP里面加上几行广告位代码,集成他们的广告SDK包。然后谋事在人,成事在天,只有每天看报表查查收益。   也有一些开发者为了能够提高自己的变现水平,同时接入了好几家的sdk,哪家出的收益高一点我就出哪家的广告,但是这

rmcgogo的博客 1万+

ComfyUI的G-Dino模型加载器报错解决方案:从崩溃到重生

遇到G-Dino模型加载器报错不要慌,按照本文的步骤操作,99%的问题都能解决。模型文件正确下载到指定位置segment_anything节点安装完整且无冲突需要补充更多细节或故障排除方法吗?可以随时告诉我。

2301_78150483的博客 4023

c++Primer读书笔记(第七章 类)

类 类的基本思想:数据抽象(data abstraction)和封装(encapsulation) 数据抽象依赖于:接口(interface)和实现(implementation)分离的编程 引入this指针 成员函数可以通过一个this指针来访问调用它的那个对象 引入const成员函数 const成员函数作用是将this声明为指向常量地指针,使得成员函数不能改变调用它的对象的内容。 7.1.4构造函数 默认构造函数 只有当一个类没有声明任何构造函数,编译器才能自动生成默认构造函数 =defau

weixin_42699130的博客 307

华为od 面试八股文_Python_02_含答案

华为od 面试八股文_Python_02_含答案

MISAYAONE的博客 4535

【C++】:构造函数和析构函数

如果一个类中什么成员都没有,简称为空类。空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。默认成员函数用户没有显式实现,编译器会生成的成员函数称为默认成员函数。这篇文章介绍的是构造函数和析构函数。1.一般情况下构造函数都需要我们自己显式的去实现。2.只有少数情况下可以让编译器自动生成构造函数。(类似用两个栈实现队列的MyQueue,它的成员都是自定义类型)

2301_77900444的博客 4565

21、汽车喷漆目标区域识别:机器学习与深度学习的应用

本文探讨了机器学习与深度学习在汽车喷漆目标区域识别中的应用,重点利用卷积神经网络(CNN)提高喷漆效率并减少油漆浪费。通过构建和预处理包含多种汽车类型的数据集,采用ResNet-18、ResNet-50和MobileNet-v2等模型进行训练与评估,结果表明ResNet-50在准确率和鲁棒性方面表现最佳。研究还分析了数据裁剪、标签处理、网络架构差异以及光照和遮挡对识别效果的影响,并提出了系统实现流程。最后,文章展望了多传感器融合、模型优化和场景适应性等未来研究方向,为智能化喷漆工艺提供了技术参考。

5b6n7m8的博客 102

别让 Claude Code 一直问你“能不能执行“:权限配置完全指南

Claude Code 提供了一套精细的权限配置机制,配置好权限设置,可以提速不少。这个小技巧需要掌握一下。

沐风 3843

C++ 构造函数和析构函数 详解

C++中用构造函数和析构函数来初始化和清理对象,这两个函数将会被编译器自动调用。对象的初始化和清理是非常重要的,如果我们不提供构造函数与析构函数,编译器会自动提供两个函数的空实现。............

a只如初见的博客 3万+

微信小程序 - 超详细小程序接入腾讯地图的完整流程,提供地图显示、IP 属地定位、地理位置名称、获取经纬度等超多功能示例(可一键复制并运行的功能源代码,详细的注释及常见问题汇总)小白直接上手!

微信小程序腾讯地图怎么接入,小程序项目中使用腾讯地图sdk,小程序中使用腾讯地图,微信小程序集成腾讯地图功能,微信小程序通过ip获取其地址、经纬度、详细地址,小程序使用腾讯地图跨域解决方法,微信小程序引入腾讯地图详细教程,原生小程序引入腾讯地图,微信小程序如何植入腾讯地图,微信小程序腾讯地图配置及使用详细教程,小程序植入腾讯地图SDK,微信小程序项目怎么用腾讯地图,微信小程序IP属地定位,获取当前用户位置名称,微信小程序如何使用腾讯地图获取用户的定位位置,在小程序中使用腾讯地图,实现定位,距离计算,实时搜索

🏆 前端领域优质创作者 8808

什么是构造函数和析构函数?

1.构造函数 1.1概念 构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。 1.2 C++构造函数 C++语言为类提供的构造函数可自动完成对象的初始化任务,全局对象和静态对象的构造函数在main()函数执行之前就被调用,局部静态对象的构造函数是当程序第一次执行到相应语句时才被调用。然而...

weixin_40787463的博客 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C++构造函数和析构函数的总结

C++是面向对象的编程语言,在定义类的时候,离不开构造和析构函数。类中同类同名的成员函数称为构造函数,主函数中初始化一个对象时,如果有传入数据,其实是传入到构造函数的形参中。

ladybai的博客 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

C++——构造函数和析构函数

构造函数和析构函数

2301_79310249的博客 1241

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

c++构造函数和析构函数

一、构造函数和析构函数的特点 构造函数和析构函数是一种特殊的公有成员函数,每一个类都有一个默认的构造函数和析构函数; 构造函数在类定义时由系统自动调用,析构函数在类被销毁时由系统自动调用; 构造函数的名称和类名相同,一个类可以有多个构造函数,只能有一个析构函数。不同的构造函数之间通过参数个数和参数类型来区分; 我们可以在构造函数中给类分配资源,在类的析构函数中释放对应的资源。 二、不带参数的构造函数 C++类在创建时,系统会默认创建一个不带参数的构造函数,我们可以重新定义这个构造函数。默认构造函数在类被

weixin_39270987的博客 1万+

初谈构造函数和析构函数

构造函数是特殊的成员函数,需要注意的是,构造函数虽然名称叫构造,但是构造函数的主要任务并 不是开空间创建对象(我们常使⽤的局部对象是栈帧创建时,空间就开好了),⽽是对象实例化时初始化 对象。构造函数的本质是要替代我们以前Stack和Date类中写的Init函数的功能,构造函数⾃动调⽤的 特点就完美的替代的了Init。

2302_80705024的博客 1394

【c++】类的构造函数和析构函数

【c++】类的构造函数和析构函数            一.构造函数            二.构造函数的重载            三.析构函数参考:《c++从入门到精通》 人民邮电出版社 一.构造函数    构造函数是和类名相同的一个函数,它的作用是实现对象的初始化。当对象被创建时,构造函数自动被调用。     特点:            1.没有类型            2.没有返回值(...

gogo小Sa的专栏 5679

【C++】构造函数和析构函数

构造函数是特殊的公有成员函数(但不是只是公有成员函数,在特殊用途中构造函数的访问限定可以定义为私有或保护)。函数名称与类同名:构造函数名称必须与类名严格一致。无返回值类型:无需声明返回类型(是没有返回类型,而不是void),实际上构造函数有返回值,返回值就是构造函数所创建的对象。在程序运行时,当新的对象被建立,该对象所属的类构造函数自动被调用,在该对象的生存周期中也只调用这一次。

2302_76793428的博客 1310
上一篇: GoF之迪米特法则
下一篇: GoF这个大家庭——团结合作才是王道
mayfla
博客等级 码龄14年 312粉丝 191原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值