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