1、构造函数和析构函数是类中比较特殊的两种成员函数,分别用来对对象进行初始化和回收对象资源。
构造函数—————对象初始化!!!
析构函数—————回收对象资源!!
2、对象的生命周期从构造函数开始,从析构函数结束。如果一个类含有构造函数,在实例化该类的对象时就会被调用。如果含有析构函数,则会在销毁对象时调用。
3、构造函数的名字与类名相同,析构函数的名字也跟类名相同,不过析构函数要在名字前加一个波浪号(~)。当退出含有该对象的成员时,析构函数会自动释放这个对象所占用的空间,所以说析构函数是GC自动调用的,不是程序员所控制的。
如:类是Program那么构造函数为public Program(){},里面可带参数
析构函数为~Program(){}
==========================================================
构造函数
构造函数有3个特点:
(1)方法名与类名相同
(2)没有返回类型
(3)主要完成对象的初始化工作
(4)分为无参构造函数和有参构造函数两种
(5)刚开始系统会自动创建一个无参构造函数,但当你创建好了一个有参构造函数后,系统就不再提供这个无参构造函数了
1、用来初始化新对象的数据成员
2、不带参数的构造函数称为“默认构造函数”。无论何时,只要使用new运算符实例化对象,并且不再为new提供任何参数,就会调用默认构造函数。
上面的是默认构造函数,下面是带有参数的构造函数
常见错误:
能看出哪里错吗?
你的构造函数有返回值类型吗?为什么多加了个“string”呢!!!!!!!应去掉string
析构函数
一个类中只能有一个析构函数,并且无法调用析构函数,他是被自动调用的
最后稍微介绍下 重载构造函数
满足的条件是: (1)方法名相同
(2)方法的参数类型、个数、顺序至少有一项不相同
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx