C到C++转换(六)

本文介绍了C++学习中的析构函数和拷贝构造函数。析构函数在对象销毁时自动调用,常用于释放new分配的内存。拷贝构造函数在对象初始化、作为参数传递或函数返回时被调用。默认的拷贝构造函数执行浅拷贝,可能导致问题,因此在处理包含指针的类时,需要自定义深拷贝构造函数以正确复制内存资源。
摘要由CSDN通过智能技术生成

我是一个正在学习C++的同学,把自己的学习笔记和一些自己的理解记录下来。如果有什么地方写得不对,还希望各位朋友指正。我写的是有c语言基础之后学习C++ 的学习经历。并不是零基础学习C++

析构函数

C++中的类可以定义一个特殊的成员函数清理对象,这个特殊的函数是析构函数。
1.析构函数没有参数和没有任何返回类型;
2.析构函数在对象销毁的时候自动调用;
3.析构函数调用机制: C++编译器自动调用。

class Person
{
   
	~Person()
	{
   }
};

析构函数没有参数,没有返回值。函数名和类名相同,在函数名前得有个~符号。如果没有自己写析构函数,系统会自动调用一个默认的析构函数。没有任何逻辑。析构函数常常用于释放对象创建时new 的指针变量。就可以在析构函数里进行delete。

class Person
{
   
private:
	string name;
	int age;
public:
	person()
	{
   
		cout<<"构造函数"<<endl;
		name =new string;
		age=20;
	}
	~Person()
	{
   
		cout<<"析构函数"<<endl;
		delete name;//删除new的指针变量,可以自动清理
	}
};

拷贝构造函数

1.什么是拷贝构造函数
拷贝构造函数是当程序将一个已经定义的对象数据给另一个对象作为初始值时,并且程序为自定义拷贝构造函 数,系统就会自动调用默认拷贝构造函数.这个拷贝构造函数是系统自动生成的,称之为浅拷贝。我们也可以自己写这个拷贝构造函数。在类里面有指针变量时就需要深拷贝。这个点后面详细对比。
1、声明: 函数名(类名)(const 本类类名 &对象名)

#include<iostream>

using namespace std;

class 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值