类和对象-对象特性-构造函数和析构函数
作者:互联网
- 对象的初始化和清理(强制要求)
点击查看代码
#include<iostream>
#include<string>
using namespace std;
//对象的初始化和清理
class Person
{
public:
//1、构造函数
//没有返回值 也不用写void
//函数名与类名相同
//构造函数可以有参数,可以发生重载
//创建对象的时候,构造函数会 自动调用,而且只调用一次
Person()
{
cout << "Person 构造函数的调用" << endl;
}
//2、析构函数 进行清理操作
//没有返回值不写void
//函数名和类名相同在名称 前加~
//析构函数 不可以有参数的,不可以发生重载
//对象在销毁前会 自动调用析构函数,而且只会调用一次
~Person()
{
cout << "Person 析构函数的调用" << endl;
}
};
//构造和析构都是必须有的实现,如果我们自己不提供,编译器会提供一个空实现的构造和析构
void test01()
{
Person p1; //局部变量,在栈上的数据,test01()执行完毕后,释放这个对象
}
int main(){
test01();
system("pause");
return 0;
}
- 当对象创建在main函数中,只有当main函数执行完毕之后才释放对象,编译器调用析构函数
点击查看代码
#include<iostream>
#include<string>
using namespace std;
//对象的初始化和清理
class Person
{
public:
//1、构造函数
//没有返回值 也不用写void
//函数名与类名相同
//构造函数可以有参数,可以发生重载
//创建对象的时候,构造函数会 自动调用,而且只调用一次
Person()
{
cout << "Person 构造函数的调用" << endl;
}
//2、析构函数 进行清理操作
//没有返回值不写void
//函数名和类名相同在名称 前加~
//析构函数 不可以有参数的,不可以发生重载
//对象在销毁前会 自动调用析构函数,而且只会调用一次
~Person()
{
cout << "Person 析构函数的调用" << endl;
}
};
//构造和析构都是必须有的实现,如果我们自己不提供,编译器会提供一个空实现的构造和析构
void test01()
{
Person p1; //局部变量,在栈上的数据,test01()执行完毕后,释放这个对象
}
int main(){
//test01();
Person p2;
system("pause");
return 0;
}
标签:和析构,函数,对象,Person,调用,include,构造函数 来源: https://www.cnblogs.com/yeqian/p/15033439.html