• 构造函数


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

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

    构造函数的名字必须与类名相同,构造函数没有返回类型,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:如果类中包含了一个其他类类型的成员,且这个成员的类型没有默认构造函数,那么编译器将无法初始化该对象。

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

    己的构造函数。

  • 相关阅读:
    【转】umount 的时候报错:device is busy
    【转】linux shell 的tr命令
    给bash的提示符设置不同的颜色
    备份系统时候出现错误
    [转]Xen 的漫漫人生路
    linux/screen的指令
    扩大centos镜像的硬盘空间
    ASP.NET Web API学习资源
    svn make a tag
    query多选下拉框插件 jquerymultiselect
  • 原文地址:https://www.cnblogs.com/yjds/p/8597251.html
Copyright © 2020-2023  润新知