在c++中,我们知道它是一种面向对象的计算机编程语言,在定义类的时候,往往会使用构造函数和析构函数~
构造函数:
用于创建对象的特殊成员函数,当创建对象的时候,系统自动的调用构造函数;
作用:
1.类成员变量的初始化(静态变量除外,它是在全局数据区进行初始化的)
2.为对象分配内存空间
3.请求其他资源
原型:
类名::类名(参数表);
特性:
1.用户没有定义构造函数时,系统会默认生成一个构造函数,默认创建的是一个空函数,如果类中存在其他构造函数,或者我们已经显式的定义了构造函数,那系统就不会自动创建~
2.构造函数名字,不论是系统默认生成,还是人为自定义,需要和类名保持一致~
3.构造函数可以有任意类型的参数,但是没有返回值~
4.构造函数可以进行函数重载~
析构函数
析构函数一般是在对象的生命周期结束的时候被调用
作用:
对对象一些资源进行回收,像内存释放,还有清除对象~
三种条件下,会调用析构函数:
1.实例化对象的生命周期结束的时候~
2.delete指向对象的指针时~
3.对象A是对象B的成员,B的析构函数被调用时,对象A的析构函数也被调用~
原型:
类名::~类名();
特性:
1.析构函数没有参数,也没有返回类型~
2.因为无参数,无返回值,所以不可以重载~
3.没有用户定义析构函数的时候,系统会自动生成析构函数~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)