我是一个正在学习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