21xrx.com
2024-11-25 12:01:54 Monday
登录
文章检索 我的文章 写文章
C++中构造函数有哪两种?
2023-06-30 01:07:42 深夜i     --     --
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++中的构造函数包括默认构造函数和带参构造函数。默认构造函数是没有参数的构造函数,用于在创建对象时为数据成员分配空间,并初始化它们的初始值。带参构造函数是带有一个或多个参数的构造函数,用于根据传递的参数初始化数据成员。在定义类时,可以同时定义多个构造函数,并根据参数类型和数量的不同进行重载。

  
  

评论区

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