MST

星途 面试题库

面试题:C++类实例化中的构造函数问题

假设有一个名为`Circle`的C++类,用于表示圆形,包含半径`radius`成员变量。请编写该类的构造函数,使得在实例化`Circle`对象时,可以通过两种方式初始化半径:一种是不传入参数,半径默认为1;另一种是传入一个参数来指定半径值。同时说明构造函数在类实例化过程中的作用。
44.9万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
class Circle {
private:
    double radius;
public:
    // 构造函数,无参数,半径默认为1
    Circle() : radius(1.0) {} 
    // 构造函数,传入参数指定半径值
    Circle(double r) : radius(r) {} 
};

构造函数在类实例化过程中的作用:

  • 初始化成员变量:在创建类的对象时,构造函数负责对对象的成员变量进行初始化,如上述代码中对radius进行初始化,确保对象在创建后处于一个合理的初始状态。
  • 分配资源:如果类中涉及到需要动态分配的资源(如动态内存分配、打开文件等),构造函数可以完成这些资源的分配工作,为对象后续的使用做好准备。