21-对象特性-构造函数和析构函数

简介: 21-对象特性-构造函数和析构函数
#include<bits/stdc++.h>
using namespace std;
//对象的初始化和清理
//1、构造函数,进行初始化操作
class Person{
  //1.1 构造函数
  //没有返回值 不用写void
  //函数名 和类名相同
  //构造函数可以有参数,可以发生重载
  //创建对象的时候,构造函数会自动调用,而且只调用一次 
public :  
  Person()
  {
    cout<<"Person构造函数的调用"<<endl;
   } 
  ~Person(){
    cout<<"Person的析构函数调用"<<endl;//在栈上的数据,调用完后释放这个对象 
  }
   //构造和析构都是必须有的实现,如果我们自己不提供,编译器会提供一个空实现的构造和析构 
}; 
void test01()
{
  Person p;
}
//2、析构函数,进行清理操作
//析构函数语法: ~类名(){}
//析构函数,没有返回值也不写void
//函数名称与类名相同,在名称前加上符号 ~
//析构函数不可以有参数,因此不可以发生重载
//程序在对象销毁前会自动调用析构,无须手动调用,而且只会调用一次
int main()
{
  Person p;
  test01();
  system("pause") ;
  return 0;
 } 


相关文章
|
存储 Cloud Native 编译器
C++ 对象生成:构造函数
C++ 对象生成:构造函数
|
8月前
|
C++ Linux
|
7月前
|
存储 编译器 C++
【C++】类和对象③(类的默认成员函数:拷贝构造函数)
本文探讨了C++中拷贝构造函数和赋值运算符重载的重要性。拷贝构造函数用于创建与已有对象相同的新对象,尤其在类涉及资源管理时需谨慎处理,以防止浅拷贝导致的问题。默认拷贝构造函数进行字节级复制,可能导致资源重复释放。例子展示了未正确实现拷贝构造函数时可能导致的无限递归。此外,文章提到了拷贝构造函数的常见应用场景,如函数参数、返回值和对象初始化,并指出类对象在赋值或作为函数参数时会隐式调用拷贝构造。
|
存储 编译器 C++
【C++】类与对象(二) 构造函数 析构函数 拷贝函数(2)
【C++】类与对象(二) 构造函数 析构函数 拷贝函数(1)
|
编译器 C++
【C++基础(六)】类和对象(中) --构造,析构函数
【C++基础(六)】类和对象(中) --构造,析构函数
|
存储 编译器 C语言
【C++基础】类与对象(中):默认成员函数、构造函数、析构函数、拷贝构造、赋值重载函数……
【C++基础】类与对象(中):默认成员函数、构造函数、析构函数、拷贝构造、赋值重载函数……
95 0
|
8月前
|
安全 C++
c++类和对象一对象特性一构造函数和析构函数
c++类和对象一对象特性一构造函数和析构函数
35 0
|
存储 编译器 C语言
【C++学习】类和对象 | 类的成员函数存放在哪里?| this指针 | 构造函数 | 析构函数 | 探索构造和析构函数的更多细节
【C++学习】类和对象 | 类的成员函数存放在哪里?| this指针 | 构造函数 | 析构函数 | 探索构造和析构函数的更多细节
230 0
|
编译器 C++
<c++> 类的构造函数与类的析构函数
<c++> 类的构造函数与类的析构函数
104 0