MST

星途 面试题库

面试题:C++ 中构造函数与析构函数的基本用法

请说明C++类中构造函数和析构函数的作用、特点及语法格式,并编写一个简单的类,包含构造函数和析构函数,在构造函数中输出“对象已构造”,在析构函数中输出“对象已析构”。
38.1万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
  1. 构造函数
    • 作用:用于初始化对象的数据成员,在对象创建时自动调用,确保对象在使用前处于一个合理的初始状态。
    • 特点
      • 与类名相同。
      • 没有返回类型,包括void也不能有。
      • 可以有多个构造函数,通过参数列表进行重载。
    • 语法格式
class ClassName {
public:
    // 构造函数
    ClassName(parameter_list) {
        // 初始化代码
    }
};
  1. 析构函数
    • 作用:用于在对象销毁时清理对象所占用的资源,例如释放动态分配的内存等,在对象生命周期结束时自动调用。
    • 特点
      • 名称为类名前加波浪号~
      • 没有返回类型,也不能有参数,所以不能被重载。
    • 语法格式
class ClassName {
public:
    // 析构函数
    ~ClassName() {
        // 清理代码
    }
};
  1. 示例代码
#include <iostream>

class MyClass {
public:
    MyClass() {
        std::cout << "对象已构造" << std::endl;
    }
    ~MyClass() {
        std::cout << "对象已析构" << std::endl;
    }
};

int main() {
    MyClass obj;
    return 0;
}

在上述代码中,MyClass类有一个构造函数和一个析构函数。在main函数中创建MyClass对象obj时,构造函数被调用输出“对象已构造”,当obj生命周期结束(main函数结束)时,析构函数被调用输出“对象已析构”。