zoukankan      html  css  js  c++  java
  • C++构造函数的选择

    构造函数用来初始化类对象。构造函数有好几种,在编程时如何选择不同的构造函数呢?做个总结

    一、默认构造函数

      默认构造函数是在程序员没有声明任何构造函数的时,编译器为了初始化类对象自己进行的默认构造函数。既然是是编译器为了方便自己做的构造函数,它在初始化时就没有那么的智能,一般有两种:

        1)如果类内有初始值,即用此值来初始化;

        2)使用默认初始化值,一般int 型初始化为0,字符串初始化为空串。

      但是有些类不能使用默认构造函数:

        1)对于类内的内置类型和复合类型(如指针、数组)则是未定义的,所以默认构造函数只适用于简单类的构造函数。

        2)若类中包含其他类的成员且成员也没有默认构造函数,则编译器无法初始化该成员。

    二、构造函数初始化列表

      

    Home::Home(int x): num(x),desk(x),room(num){}

      初始化的顺序和初始化列表的顺序无关,但是尽量按照类内定义的顺序依次初始化;

      尽量不要用类的成员初始化其他变量;

      区别列表初始化所占的计算资源和存储资源都要少于赋值操作,后者要先初始化再赋值。对于const和引用要先初始化,不能赋值。

    三、在类的外部定义构造函数

  • 相关阅读:
    Python发邮件的小脚本
    收集服务器网卡和IP信息
    Parent Proxy 和 Origin Server配置学习
    ATS 自定义日志格式
    css之选择器篇
    css之入门篇
    javascript必须懂之冒泡事件
    HTML5之语义化标签
    HTML之总结
    随堂笔记之正则与HTML5新元素
  • 原文地址:https://www.cnblogs.com/huangfuyuan/p/11287145.html
Copyright © 2011-2022 走看看