zoukankan      html  css  js  c++  java
  • C++基础知识:构造与析构

    1.构造函数的定义:

    C++中的类可以定义与类名相同的特殊成员函数
    这种与类名相同的成员函数叫做构造函数
    构造函数在定义时可以有参数,但是没有任何返回类型的声明

    2.构造函数的调用:

    一般情况下C++编译器会自动调用构造函数
    在一些情况下则需要手工调用构造函数

    3.两个特殊的构造函数:
    无参构造函数
      当类中没有定义构造函数时,编译器默认提供一个无参构造函数,并且其函数体为空
    拷贝构造函数
      当类中没有定义拷贝构造函数时,编译器默认提供一个拷贝构造函数,简单的进行成员变量的值复制

    4.初始化列表

    C++中提供了初始化列表对成员变量进行初始化
    语法规则
    Constructor::Contructor() : m1(v1), m2(v1,v2), m3(v3)
    {
        // some other assignment operation
    }

    注意:   成员变量的初始化顺序与声明的顺序相关,与在初始化列表中的顺序无关
        初始化列表先于构造函数的函数体执行

    5.析构函数

    C++中的类可以定义一个特殊的成员函数清理对象
    这个特殊的成员函数叫做析构函数
    定义:~ClassName()
    析构函数没有参数也没有任何返回类型的声明
    析构函数在对象销毁时自动被调用

    6.构造函数与析构函数的调用秩序
    当类中有成员变量是其它类的对象时
    首先调用成员变量的构造函数
    调用顺序与声明顺序相同
    之后调用自身类的构造函数
    析构函数的调用秩序与对应的构造函数调用秩序相反

    7.“剥夺”编译器对构造函数的调用尝试
    C++提供了explicit关键字用于阻止编译器对构造函数的调用尝试

  • 相关阅读:
    抓取csdn上的各类别的文章 (制作csdn app 二)
    数塔 动态规划
    Android 使用Fragment,ViewPagerIndicator 制作csdn app主要框架
    钥匙计数之二
    FusionCharts简单教程(三)-----如何自定义图表上的工具提示
    位图像素的颜色 携程编程大赛hdu
    Android 仿Win8的metro的UI界面(上)
    Android 省市县 三级联动(android-wheel的使用)
    JDK源码学习系列01----String
    互联网投稿渠道
  • 原文地址:https://www.cnblogs.com/blogs-of-lxl/p/6476619.html
Copyright © 2011-2022 走看看