有关构造函数的C ++面试问题
一个构造函数是具有相同的名称类的类的功能。在初始化对象时调用构造函数。共有三种类型的构造函数-
默认构造函数
参数化构造函数
复制构造函数
class cl_name{ cl_name(){ //This is constructor.. } }
甲析构函数是具有相同的名称前面有一个的类的类的方法tild〜符号。在代码末尾或对象被破坏或超出范围时调用它。
class cl_name{ ~ cl_name(){} //destructor }
构造函数是与类同名的方法。构造函数的使用是在使用new 关键字创建对象时初始化该对象。
创建对象时,变量将初始化内存和基值(如果有)的大块。
析构函数是一种与〜符号前面的类具有相同名称的方法。析构函数的使用是将代码超出对象范围或使用delete关键字删除的代码重新分配内存块。
删除对象后,将调用析构函数,并将其重新分配在创建对象时创建的所有内存块。
创建类的对象时,将调用构造函数。调用构造函数的顺序与继承的层次结构相同。这意味着首先调用基类的对象,然后调用子类的对象,依此类推。
析构函数作为构造函数以相反的顺序被调用,并且在删除类的对象时被调用。调用析构函数的顺序与继承层次结构相反。这意味着首先破坏子类的对象,然后破坏父类的对象,依此类推。
如果程序员未明确定义任何构造函数,则构造函数默认由编译器创建。如果程序员定义了构造函数,则编译器将保留其工作并且不定义任何工作。