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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 嵌入式linux系统移植实验报告_嵌入式移植的分类

    嵌入式linux系统移植实验报告_嵌入式移植的分类嵌入式Linux移植实验实验目的:1.掌握交叉编译环境的建立和使用;2.熟悉Linux开发环境,掌握Linux内核的配置和裁减;3.了解Linux的启动过程。 实验内容:1.了解Linux基础知识以及Linux开发环境;2.根据教学实验系统的硬件资源,配置并编译Linux核心;3.下载并运行Linux核心,检查运行结果。实验步骤要求:记录实验中编译Linux核心、下载运行Linux的过…

    2022年9月24日
    0
  • WRS是什么?_WRS210L

    WRS是什么?_WRS210L全球参考系(WRS)是为卫星下行数据服务而建立的一种全球符号坐标系统,本文详细介绍了Landsat卫星的轨道特性,给出了相应的WRS网格坐标位置的估算方法,并给出了估算的结果。对该方法的研究为地面应用

    2022年8月4日
    3
  • 斗地主老是输?一起用Python做个AI出牌器![通俗易懂]

    斗地主老是输?一起用Python做个AI出牌器![通俗易懂]前言最近在网上看到一个有意思的开源项目,快手团队开发的开源AI斗地主——DouZero。今天我们就一起来学习制作一个基于DouZero的斗地主出牌器,看看AI是如何来帮助我们斗地主的吧!首先一起来看看AI出牌器的效果:下面,我们开始介绍这个AI出牌器的制作过程。一、核心功能设计首先我们这款出牌器是基于DouZero开发的,核心是需要利用训练好的AI模型来帮住我们,给出最优出牌方案。其次关于出牌器,先要需要确认一个AI出牌角色,代表我们玩家自己。我们只要给这个A

    2022年4月29日
    82
  • windows怎么设置多用户_windows开启多用户远程桌面

    windows怎么设置多用户_windows开启多用户远程桌面在实际使用我们较多使用的都是windows系统的单用户模式,它意味着当我们登录一个用户的时候如果另外一个用户也在登录,那么就得等待另外一个用户退出后才可以登录我们这个用户,但是实际需求中,我们经常会遇

    2022年8月4日
    17
  • 最新服务器节点,服务器emule必备知识(更新服务器列表与kad节点文件)

    最新服务器节点,服务器emule必备知识(更新服务器列表与kad节点文件)emule必备知识(更新服务器列表与kad节点文件)emule必备知识emule是通过ED2K网络和KAD网络寻找、连接其他emule客户端的所以服务器列表和KAD节点文件是emule的必需文件。有些新手由于下载官方原版emule压缩包或其他未集成这些必需文件的emule压缩包从而出现“连接不上ED2K与KAD”问题。所以学会下载更新服务器列表与KAD节点文件是使用emule的第一步以下方法…

    2022年6月16日
    73
  • mysql数据库基础知识总结

    mysql数据库基础知识总结mysql数据库基础知识总结一、基础常用命令1.创建命令createuser‘用户名’@‘ip’identifiedby‘密码’;创建用户dropuser用户名@ip删除用户showdatabases;查数据库showtables;看表createdatabase数据库名defaultcharsetutf8;创建数据库createtable表名(列名数据类型约束···,列名数据类型约束···)engine=in

    2022年6月26日
    21

发表回复

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

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