什么是 C++ 中的构造函数重载:特征和类型

已发表: 2021-05-24

C++是业界常用的面向对象编程语言。 C++ 是 OOP 的先驱编程语言,由 AT&T 贝尔实验室的 Bjarne Stroustrup 于 1979 年开发 c++ 最常用的功能可能是在其中创建一个类。 在一个类中,我们可以创建类成员——方法和变量。

目录

介绍

构造函数通常用于创建对象,或者从技术上讲,创建对象的实例。 在大多数面向对象的编程语言中,它们也是重载的。 与许多编程语言一样,构造函数的名称是根据类的名称预先确定的。 这限制了命名对象,因为可以有一个构造函数。 在需要多个构造函数的场景下,使用重载函数来实现。

在 C++ 中,默认构造函数没有参数。 它们是从具有相应默认值的对象成员中实例化的。

您可以很好地了解面向对象编程中使用重载概念。

构造函数

构造函数 (ctor) 是一种编程技术,用于在基于类的面向对象编程中创建对象。 通过调用特殊用途的子例程来创建一个新对象。 它是一个类的成员函数,它反过来初始化一个类的对象。 此方法接受参数。 提供的参数由基本构造函数使用并设置成员变量。

构造函数的特征

构造函数是类的特殊成员函数。 由于以下原因,它与通用成员函数不同:

  • 构造函数成员的范围是公共的
  • 它与声明类同名。
  • 名称区分大小写
  • 构造函数没有返回类型。
  • 默认构造函数是隐式创建的。
  • 创建对象时,会自动调用构造函数。
  • 构造函数不是隐式继承的。
  • 它通常对范围修饰符有不同的规则。

构造函数的类型

默认构造函数- 具有零参数且没有参数的构造函数。 它们是编译器生成的隐式构造函数。

参数化构造函数是您可以传递参数的构造函数。 参数初始化一个已创建的对象。 只需向其添加参数即可创建参数化构造函数,类似于我们对任何其他函数所做的。 使用构造函数主体中的参数来初始化对象。 这种类型的构造函数通常用于重载,也用于初始化具有不同初始值的对象的各种数据元素。

Copy Constructor – 它是一个成员函数,用于使用同一类的另一个对象初始化一个对象。 默认情况下,编译器为每个类创建一个复制构造函数,遵循对象之间的成员方式复制。

C++ 中的构造函数

在 c++ 中,构造函数在对象(即类的实例)创建时自动调用。

如果我们不指定构造函数,c++ 编译器会为我们生成一个默认构造函数(不期望参数并且具有类名)。

正确编写的构造函数使生成的对象处于有效状态。

构造函数重载

构造函数重载是一个构造函数重载另一个构造函数的现象。

给定的构造函数可以被重载,类似于函数重载。

重载的构造函数与类的名称相同。 但是,它在几个论点上有所不同。 创建对象时,传递的参数类型决定了调用哪个构造函数。

具有不同参数的多个构造函数的可用性有助于在编程中执行不同的任务。

C++中的构造函数重载

在 C++ 中,一个类中有多个构造函数,名称相同,但参数列表不同。 C++中构造函数重载的概念与函数重载非常相似。

通常,您应该在一个类中创建多个构造函数来为对象以不同的方式初始化成员变量。 构造函数行为不同的标准是具有不同数量的参数或不同的定位或参数的不同数据类型。

使用单个类牢固地创建对象并返回该类的新实例的构造函数被业界抽象,它创建对象但可以使用不同的类或不同的分配方案(例如对象池)以不同的方式进行。

构造函数重载如何在 C++ 中工作?

让我们考虑如下所示的示例:

该代码说明了c++中构造函数重载的示例

“计算”类有 2 个构造函数:

  1. 默认构造函数(没有任何参数)
  2. 三参数构造器

在 main() 中创建了两个对象。

1.出:

创建时,它会自动调用不带参数的默认构造函数。 这是因为在创建对象时,没有传递参数。 因此,它与 first(Default Constructor) 的定义相匹配。 这将为主类的该对象的所有三个变量分配 0 值。

2.输出2:

当它被创建时,它会自动调用带有 3 个参数的构造函数。 这是因为在创建对象时,只传递了 1 个参数。 因此,它与第二个构造函数的定义相匹配。 这将为主类的该对象分配 3 个值(作为参数传递)。

从世界顶级大学在线学习软件工程课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

结论

了解C++ 中构造函数重载的编程概念是程序员和系统设计人员的一项重要技能。 计算机和计算相关课程的学生可以提高他们的技能和技术信誉,例如 OOP 概念和代码优化。 upGrad门户上的资源和知识库鼓励这些专业人士获得编程专业知识以在行业市场中竞争。 此外,您将有机会探索专业网络和技能发展。

如果您有兴趣了解有关全栈软件开发的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发执行 PG 计划,该计划专为工作专业人士设计,提供 500 多个小时的严格培训、9 个以上的项目和任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。

什么是编程中的构造函数?

编程中的构造函数是主要目的是初始化对象和执行其他简单任务的函数。 构造函数用于面向对象编程,这是一种流行的编程范式。 因此,面向对象的程序包含对象,这些对象又具有属性、方法和事件。 要创建一个对象,您必须使用构造函数,并且为了能够使用该对象,您必须实例化它。

什么是构造函数重载?

构造函数重载意味着拥有多个同名的构造函数。 构造函数是创建对象时调用的方法。 您必须为所有构造函数使用相同的名称,即类名。 这是通过使用不同数量的参数声明构造函数来完成的。 如果没有要传递的参数,则调用默认构造函数。 如果只有一个参数,则调用带有单个参数的构造函数。 如果有两个或更多参数,则调用恰好采用两个或更多参数的构造函数。

如何使用构造函数初始化对象?

当涉及到类的初始化时,构造函数是至关重要的。 它们是一种特殊类型的函数,用于创建和初始化对象。 有时我们不想在类中创建所有字段,因为它们不是必需的。 如果我们创建所有字段,我们应该初始化所有字段。 在这种情况下,我们使用默认构造函数并根据需要初始化字段。 创建类时,可以在类中创建一个或多个构造函数。 因此,当您为该特定类创建对象时,您可以轻松调用该类的构造函数以及要设置的参数。 这些参数可以设置为调用其构造函数的类的字段或属性的值。