c++之析构函数

#include<iostream>
using namespace std;
class A
{
   public:
    A(){cout<<"A construction\n";}//构造函数
    ~A(){cout<<"A Destruction\n";}//析构函数
};
int main() {
 cout<<"构造a\n";
  A a;
  cout<<"构造pb\n";
  A *pb=new A;
  cout<<"--------------\n";
  {
   cout<<"构造c\n";
  A c;//生命周期在大括号内
  cout<<"析构c\n";
  }
  cout<<"------------------\n";
  cout<<"析构pb\n";
  delete pb;
  cout<<"析构a\n";
  return 0;
return 0;}

结果:

构造a
A construction
构造pb
A construction
--------------
构造c
A construction
析构c
A Destruction
------------------
析构pb
A Destruction
析构a
A Destruction

--------------------------------
Process exited after 0.1611 seconds
请按任意键继续. . .

时间: 2025-01-03 06:19:53

c++之析构函数的相关文章

C++基础3 类:构造 拷贝 析构函数,

为什么会出现构造函数 与 析构函数 [email protected]:~/c++$ cat main.cpp  #include <iostream> #include <stdlib.h> #include <string.h> using namespace std; class Test { public: void init() { a = 1; b = 2; } private: int a; int b; }; int main() { Test arr[

C++ 构造函数和析构函数

构造函数: 作用: 1)分配空间:分配非静态数据成员的存储空间 2)初始化成员:初始化非静态数据成员 分配空间: 1)含有指针变量,需要程序员显式申请空间(使用new申请) 2)非指针变量:由系统自动分配空间 初始化成员: 1)使用赋值语句初始化:一般的变量 2)使用表达式表初始化:一般的变量 +  Const成员,引用成员,对象成员 调用时机:在定义对象的时候,系统自动调用构造函数 1)对象被创建时,自动调用构造函数 Coord p1(1); Coord p2=1;  //此时也会调用构造函数

构造函数和析构函数是否可以被重载

构造函数可以被重载,因为构造函数可以有多个且可以带参数. 析构函数不可以被重载,因为析构函数只能有一个,且不能带参数.

C++:析构函数

一.什么是析构函数 析构函数是类中一种特殊的成员函数,但其功能和构造函数是相反的,当对象结束其生命周期时,系统会自动调用该对象的析构函数进行清理工作(如释放内存中分配给该对象的空间,关闭打开的文件等).另外析构函数没有返回值,不需要参数,也不能被重载且一个类中有且只能有一个析构函数.但和构造函数相似,析构函数的函数名和类名相同,只不过需要在函数名向加上一个~. 语法:~ 类名(){/*...析构函数体...*/} 特别注意: ? 如果用户没有显式地在类中定义析构函数,编译器会在类中生成一个默认的

关于PHP面向对象中—类的定义与对象的实例化操作以及构造、析构函数的特殊用法

类的定义与对象的实例化操作 <?php //类里面的成员是属于对象的class Hero{    public $name;//成员变量    //成员属性(存在于强类型语言中)    protected $blood;    private $attack;    //成员方法    function skill(){        echo "$this->name<br>control";            }} $s = new Hero();//造

面向对象中的继承、封装、构造与析构函数

构造函数:是一种特殊的方法.主要用来在创建对象时初始化对象,即为对象成员变量赋值初始值,总与new运算符一起使用在创建对象的           语句中.两根下划线开头,construct     作用:为对象成员变量赋值初始值 类的构造方法,是一个魔术方法     * 自动的被调用(可以被内部进行使用并调用)     * 不用申明,相当于默认一个没有任何执行语句的构造函数     * 会自动返回一个当前类的对象     * 一个类中有且只有一个构造函数     * 构造函数可以带参数,通常是给

构造函数和析构函数?它们有什么作用? 面向对象的特征有哪些?

析构函数:构造函数是在对象实例化时自动执行,而析构函数在对象被销毁时自动执行. 构造函数:当类被实例化时,会自动执行的函数 构造函数有什么作用:我们在使用类的过程中,有时需要立即为实例化对象的多个字段父子,如果通过手工,会带来很多不可预测的问题,而如果在对象创建过程中自动执行,则会带来很多方便. 析构函数有什么作用:默认情况下,php仅释放对象属性所占用的内存,并不销毁对象相关的资源,而利用析构函数在使用一个对象之后执行代码来清除内存,并将对象从内存中销毁 面向对象的特征有哪些? 封装.继承.多

python中的构造函数和构造函数和析构函数的作用

构造函数和构造函数和析构函数都属于python中的特殊方法 其中的"__del__"就是一个析构函数了,当使用del 删除对象时,会调用他本身的析构函数,另外当对象在某个作用域中调用完毕,在跳出其作用域的同时析构函数也会被调用一次,这样可以用来释放内存空间

析构函数的用法【简单理论讲解】

析构函数是“反向”的构造函数.它们在对象被撤消(回收)时调用.析构函数的名 称除了最前面的“-”符号外,与类的名称相同.例如,类String的析构函数是-string(). 析构函数通常用于当一个对象不再需要时,完成“消除”功能.     在函数中建立对象之后,这个对象作为局部对象开始生存,直到函数运行到遇见右括号“}”才结束生存,此时调用析构函数.      对象的释放发生在以下几种情况,首发自学编程网:      ·使用运算符new分配的对象被delete删除.      ·一个具有块作用域

构造函数和析构函数

PHP5可以在类中使用__construct()定义一个构造函数,具有构造函数的类,会在每次对象创建的时候调用该函数,因此常用来在对象创建的时候进行一些初始化工作. 在子类中如果定义了__construct则不会调用父类的__construct,如果需要同时调用父类的构造函数,需要使用parent::__construct()显式的调用. 同样,PHP5支持析构函数,使用__destruct()进行定义,析构函数指的是当某个对象的所有引用被删除,或者对象被显式的销毁时会执行的函数. 当PHP代码