zoukankan      html  css  js  c++  java
  • 构造函数

    只有当类没有声明任何构造函数时,编译器才会自动的生成默认构造函数。

    在类的外部定义构造函数:

    构造函数的名字必须与类名相同,构造函数没有返回类型,sales_data::sales_data的含义是我们定义的sales_data类的成员,他的名字是sales_data.又因为该成员的名字和类名相同,所以它是一个构造函数。

    sales_data::sales_data(std::istream &is)

    {

        read(is,*this);//read函数的作用是从is中读取一条交易信息然后存入this对象中。

    }

    这个构造函数没有函数初始值列表,或者讲的更加准确一些,他的构造函数初始值列表是空的。尽管构造函数初始值列表是空的,但是由于执行了构造函数体,所以对象的成员仍然能被初始化。

    知识点1:构造函数—特殊的成员函数,用来控制对象的初始化过程。无返回类型,可重载,不能被声明为const.

    知识点2:若无,则有默认的构造函数,是编译器自己隐式的定义的。又称合成的默认构造函数。

    知识点3:某些类是不能使用默认的构造函数的,以下三个原因:

    1:在未声明任何构造函数的前提下,类内对象的初始化将不受控制

    2:合成的默认构造函数可能会造成不必要的错误,如若没有类内初始值来初始化成员,可能这些成员将是未定义的。

    3:如果类中包含了一个其他类类型的成员,且这个成员的类型没有默认构造函数,那么编译器将无法初始化该对象。

    所以,在撰写类的时候,最好定义一个自

    己的构造函数。

  • 相关阅读:
    nodejs 核心模块crypto
    es6新特性学习
    nodejs 常用全局包
    ionic+angular+cordova 安卓环境搭建
    谷歌浏览器调试保存到文件
    Linux命令
    Linux中用户管理详解(上)-Linux学习日记
    liunx下忘记root密码的解决方法
    cvCanny的参数
    VC运行时库(/MD、/MT等)
  • 原文地址:https://www.cnblogs.com/yjds/p/8597251.html
Copyright © 2011-2022 走看看