• 默认构造函数的作用


    // 首先定义一个No_default类。

    class  No_default

    {

    public:

       No_default (const string&);  // 声明了一个构造函数,但是却没有默认构造函数!

    private:

       int a;

       string b;

    };

    // 定义第二个类,其中有一个No_default类型的成员。

    class  B

    {

    public:  

        No_default   my_mem;   // 类B也没有构造函数!

    };

    B  b;                                   //  试图定义一个B类型的对象错误的,因为不能为B合成默认构造函数,因为其中有No_default(没有默认构造函数)类型的成员!

    class C

    {

    public:

      C ()  {}                            //  试图定义C的默认构造函数是错误的,因为No-default类的成员c_mem没有初始值!

    private:

     No_default  c_mem;

    };

    class D

    {

    public:

      D (): d_mem(0)  {}                            // 定义了正确的默认构造函数,成员都有初始值(显示地给d_mem初始化为0)! 

    private:

     No_default  d_mem;

    };

    注意: 在类中如果定义了其他构造函数,最好也提供一个默认构造函数!

  • 相关阅读:
    小结css2与css3的区别
    javascript变量的作用域
    javascript面向对象
    小结php中几种网页跳转
    foreach
    post与get,这两人到底神马区别??
    typescript遍历Map
    dataTable.js参数
    showModal()和show()的区别
    javascript中location.protocol、location.hostname和location.port
  • 原文地址:https://www.cnblogs.com/sanerer/p/6994961.html
Copyright © 2020-2023  润新知