C++语言中关于构造函数知识梳理

C++语言中关于构造函数知识梳理

  • ”类“是C++中面向对象编程的重要体现,”类“是对某些具有共性特点的个性对象的抽象总结,集中反映了共同特征。针对“类”中不同对象,即变量的初始化问题,C++中引入了构造函数的概念。
  • 构造函数,是对“对象”进行构造的函数,即初始化函数。构造函数的初始化可分为三种:

1.直接在类定义时确定带固定参数的构造函数。类的不同对象在定义时,初始化参数完全相同。

class Time
  {publicTime()  //定义构造函数,必须与类名一致。
       {hour=0;
        minute=0;
        sec=0;  //在类中直接定义,不同对象初始化后参数完全相同。
       }
     void set_time();
  private:
    int hour;
    int minute;
    int sec;
  };

2.带“函数”的构造函数。在定义构造函数时,应用函数的思想,形参传值到实参。“类”不同对象在定义时可以有不同的初始值。

class Time
  {public :
     Time(int,int,int) //声明含“参数”的构造函数,名称必须与类名一致。
   private:
     int hour;
     int minute;
     int sec;
  };
Time::Time(int h, int m,int s)  //定义含“参数”的构造函数,不同对象初始化后结果也不同
  {hour=h;                        //初始化结果由参数确定。
   minute=m;
   sec=s;
  }

int main()  //主函数,应用类的对象定义。
  {Time t1(12,25,26);
   Time t2(23,45,39); //定义不同对象,初始化结果不同。
  }
  1. 参数初始化列表对成员进行初始化。也是利用含有默认参数的构造函数,不过是更加简洁的一种方法。
Time::Time(int h,int m,int s):hour(h),minute(m),second(s){}  //利用参数初始化列表进行初始化,简洁高效。
  1. 利用构造函数的重载进行对象的初始化。定义对象时是否给出具体的实参,给了几个实参。初始化是根据实参来找具体的构造函数,看看到底是用哪一个构造函数。(第二种加第一种)。因此,为了使程序正确运行,**程序中应只含有一个全部都有具体的参数的构造函数(默认构造函数有且仅有一个)。 **
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值