c++-析构函数

c++-析构函数

类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。

析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。

定义析构函数应满足以下的要求:

1,析构函数的名称是在构造函数的名称之前添加个“~”

2,析构函数没有参数

3,析构函数中不能通过return语句返回一个值。

4,一个类中只能有一个析构函数不可重载。

下面的实例有助于更好地理解析构函数的概念:

#include<iostream>
#include<cstring>
#include<string> 
using namespace std;
class Car{
	public:
		Car();//无参构造函数的声明 
		~Car();
		string get_charname();
		int get_seats();
	private: 
		string m_pcarname;
		int m_nseats;
	
};
Car::Car(){//定义无参的构造函数 
	cout << "car constructor !" << endl;
	m_pcarname = "马云的迈巴赫";//定义指针成员的初值为nullptr,值为0 
	m_nseats = 4;
}
Car::~Car()
{
	
}
string Car::get_charname()
{
	return m_pcarname;
}
int  Car::get_seats()
{
	return m_nseats;
}
int main(){
	Car mycar;
	cout << "汽车名" << mycar.get_charname() <<endl<< "座位有" << mycar.get_seats() <<"个"<<endl;
	return 0;
}

运行结果为:

 

c++-析构函数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114815.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月29日 下午10:00
下一篇 2021年9月29日 下午11:00


相关推荐

  • 双线性插值(超级易懂的)「建议收藏」

    双线性插值(超级易懂的)「建议收藏」双线性插值简介在两个方向分别进行一次线性插值(首先在一个方向上使用线性插值,然后再在另一个方向上使用线性插值执行双线性插值。尽管每个步骤在采样值和位置上都是线性的,但是插值总体上不是线性的,而是在采样位置上是二次的。)作用一般用于重新采样图像和纹理。计算四个周围纹理像素的属性(颜色,透明度等)的加权平均值,并将其应用于屏幕像素。(简单来说,我要求一个已知坐标的像素值,先去找他四个周围已…

    2022年4月28日
    208
  • 微信公众账号报错 返回码说明

    微信公众账号报错 返回码说明

    2021年10月29日
    46
  • 简单区分单射、满射与双射

    简单区分单射、满射与双射我的机器学习教程「美团」算法工程师带你入门机器学习已经开始更新了,欢迎大家订阅~任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~利用泛…

    2022年6月10日
    117
  • mac全选文字的快捷键_Mac文本快捷键你知道多少?

    mac全选文字的快捷键_Mac文本快捷键你知道多少?我们在MAC电脑上码字的时候,经常会遇到需要对某段文字进行修改或者操作的情况,相信很多人的做法是用鼠标去移动光标快速定位,如果字数篇幅比较小也是可以的,但是如果遇到大篇幅的文章,一点点的用鼠标去找会非常麻烦,今天我就教大家几个MAC文本快捷键,让你在最短的时间内把光标移动到你想要的位置,提高在电脑上码字的效率。image1、全文&段落定位目标位置比较远的时候,需要对光标远程定位,下面的组合…

    2022年5月26日
    59
  • python创建数组的方法_python数组和列表

    python创建数组的方法_python数组和列表另见数组创建相关API简介创建数组有5种常规机制:从其他Python结构(例如,列表,元组)转换numpy原生数组的创建(例如,arange、ones、zeros等)从磁盘读取数组,无论是标准格式还是自定义格式通过使用字符串或缓冲区从原始字节创建数组使用特殊库函数(例如,random)本节不包括复制,连接或以其他方式扩展或改变现有数组的方法。它也不会涵盖创建对象数组或结构化数组。这些都包含在他们自己的章节中。将Pythonarray_like对象转换为Numpy数组通常,在Pytho

    2025年6月21日
    3
  • C#中DllImport用法和路径问题「建议收藏」

    转载:https://blog.csdn.net/zhoucaifu/article/details/5416892DllImport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管DLL导出的函数的必要调用信息。DllImport属性应用于方法,要求最少要提供包含入口点的dll的名称。DllImport的定义如下:[Attribu…

    2022年4月8日
    277

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号