21xrx.com
2025-03-30 17:53:38 Sunday
文章检索 我的文章 写文章
C++中构造函数有哪两种?
2023-06-30 01:07:42 深夜i     17     0
C++ 构造函数 两种

在C++中,构造函数是一种特殊的成员函数,用于初始化对象的数据成员。C++中的构造函数可以分为两种:默认构造函数和带参构造函数。

1. 默认构造函数:

默认构造函数是没有参数的构造函数,如果在定义类时没有定义构造函数,则编译器会自动生成一个默认构造函数。它通常用于在创建对象时为数据成员分配空间,并初始化它们的初始值。

例如,下面的代码演示了如何定义和使用默认构造函数:

class Point {
public:
 Point(); // 默认构造函数
private:
 int x;
 int y;
};
Point::Point()  // 实现默认构造函数
 x = 0;
 y = 0;
int main()
 Point p; // 创建一个Point对象
 return 0;

在上面的例子中,Point类的默认构造函数将x和y初始化为0。当创建Point对象时,它会自动调用默认构造函数来初始化x和y。

2. 带参构造函数:

带参构造函数是带有一个或多个参数的构造函数。它可以根据传递的参数初始化数据成员。与默认构造函数不同,如果在定义类时定义了带参构造函数,则编译器不会自动生成默认构造函数。

例如,下面的代码定义了一个带参构造函数:

class Point {
public:
 Point(int xVal, int yVal); // 带参构造函数
private:
 int x;
 int y;
};
Point::Point(int xVal, int yVal) // 实现带参构造函数
 x = xVal;
 y = yVal;
int main() {
 Point p(10, 20); // 创建一个Point对象,以10和20作为x和y的初始值
 return 0;
}

在上面的例子中,Point类有一个带参构造函数,参数为int类型的xVal和yVal,用于设置x和y的初始值。当创建Point对象时,可以传递参数来调用带参构造函数。

总结:

C++中的构造函数包括默认构造函数和带参构造函数。默认构造函数是没有参数的构造函数,用于在创建对象时为数据成员分配空间,并初始化它们的初始值。带参构造函数是带有一个或多个参数的构造函数,用于根据传递的参数初始化数据成员。在定义类时,可以同时定义多个构造函数,并根据参数类型和数量的不同进行重载。

  
  

评论区

请求出错了