21xrx.com
2024-12-23 00:21:16 Monday
登录
文章检索 我的文章 写文章
C++构造函数
2023-06-27 01:39:37 深夜i     --     --
C++语言 对象 初始化 默认构造函数

C++构造函数是一种特殊的成员函数,用于在创建对象时初始化对象的数据成员。构造函数的名称与类名称相同,可以有参数或者没有参数。当创建一个对象时,编译器会自动调用构造函数来初始化对象的数据成员。如果没有定义构造函数,编译器会生成一个默认构造函数。

构造函数有以下几个特点:

1. 构造函数没有返回值,甚至不需要void关键字,因为它们自动返回对象本身。

2. 构造函数可以有参数,用于初始化对象的数据成员。

3. 如果没有定义构造函数,编译器会生成一个默认构造函数,没有参数且不执行任何操作。

4. 如果定义了构造函数,则必须使用初始化列表来初始化成员变量,否则编译器会在构造函数体中自动生成默认构造函数。

5. 构造函数可以重载,但是必须具有不同的参数列表。

以下是一个简单的例子,说明如何定义构造函数:


#include <iostream>

using namespace std;

class Circle {

 private:

  double radius;

 public:

  Circle() // 默认构造函数

    radius = 0;

  

  Circle(double r) // 有参数构造函数

    radius = r;

  

  double getArea() {

    return 3.14 * radius * radius;

  }

};

int main() {

  Circle c1; // 创建一个半径为0的圆

  Circle c2(5); // 创建一个半径为5的圆

  cout << "c1的面积:" << c1.getArea() << endl;

  cout << "c2的面积:" << c2.getArea() << endl;

  return 0;

}

在上述代码中,定义了一个Circle类,其中包括两个构造函数:一个默认构造函数和一个有参数构造函数。使用默认构造函数创建一个半径为0的圆对象c1,使用有参数构造函数创建一个半径为5的圆对象c2。在main函数中输出两个圆的面积。

总之,C++构造函数是用于初始化对象数据成员的特殊成员函数。通过定义构造函数,可以在创建对象时自动初始化对象的数据成员,使得代码更加简洁、方便。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复