美文网首页
c++之构造函数

c++之构造函数

作者: 全村的卡密 | 来源:发表于2020-03-06 11:08 被阅读0次

构造函数

构造函数也叫构造器,在对象创建的时候自动调用,一般用于对象成员的初始化。

  • 构造函数与类名同,没有返回值,可以重载,可以有参数。
  • 一旦自定义了构造函数,就必须使用其中一个初始化对象。
  • 通过malloc创建的对象不会调用构造函数(new会调用)
  • 在某些特定情况下,编译器才会为类生成空的五参构造函数.
  • 如果自定义了构造函数,除了全局区(初始化0),其他都不会初始化成员变量。


    image.png
    image.png

析构函数

  • 在对象销毁后自动调用,一般用于对象的清理。
  • 析构对象以~开头,无参。
  • malloc创建的也不会调用析构函数。
~person();

构造函数和析构函数要声明为public,才能被外界正确使用。

  • 析构函数一般做内存清理
    析构函数用例:
struct Car{
 Car(){
cout<"调用构造"<<endl;
   }
~Car(){
cout<"调用析构"<<endl;
   }
}

struct Person{
int age;
 Person(){
Car *m_car = nullptr;
cout<"调用构造"<<endl;
m_car = new Car();
   }
~Person(){
cout<"调用析构"<<endl;
delete car;
   }
}
image.png
  • 对象内部创建的空间,由对象内部回收

相关文章

  • windows逆向3

    VC 程序内存和编译的一些特征C++ 构造函数C++ 成员函数C++ 析构函数C++ 全局对象的构造C++ 全局对...

  • 构造函数和析构函数

    鸡啄米:C++编程入门系列之十四(类与对象:构造函数和析构函数)

  • C++ 构造过程

    构造函数 C++中每个类必须有一个构造函数,如果用户没有自行编写构造函数,则C++会自动提供一个无参数的构造函数,...

  • C++:面向对象基础

    构造函数 C++中有三种构造函数:默认构造函数,有参构造函数,拷贝构造函数 类对象的初始化 括号法//默认构造函数...

  • [C++之旅] 10 构造函数

    [C++之旅] 10 构造函数 构造函数的特点 构造函数在对象实例化时被自动调用 构造函数与类同名 构造函数没有返...

  • scala学习笔记-构造函数

    scala的构造函数分为主构造函数和辅助构造函数 【辅助构造函数】比较容易理解,它们同C++和Java的构造函数十...

  • c++面向对象-构造、析构、初始化列表

    构造函数 构造函数是指创建对象的时候,会调用的函数。C++构造函数可以重载,指针或者对象均可调用构造函数。 析构函...

  • c++之构造函数

    构造函数 构造函数也叫构造器,在对象创建的时候自动调用,一般用于对象成员的初始化。 构造函数与类名同,没有返回值,...

  • C++基础③new对象,继承,友元函数,函数的可变参数

    接续上篇C++基础②构造函数,析构函数,拷贝构造函数 前言 C++是一门面向对象的编程语言 , 创建用以创建对象 ...

  • C++ 构造函数,类的成员变量

    c++ 05 构造函数无参构造函数有参构造函数 拷贝构造函数 浅拷贝 深拷贝 类的成员变量 四类特殊的成员变量

网友评论

      本文标题:c++之构造函数

      本文链接:https://www.haomeiwen.com/subject/sjytrhtx.html