首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

轻松教你如何在C+中,使用参数化构造函数来初始化对象数组

对象数组:

定义类时,仅定义对象的规范;没有分配内存或存储空间。要使用该类中定义的数据和访问功能,您需要创建对象。

句法:

使用参数化构造函数初始化对象数组的不同方法:

1.使用malloc():为避免调用非参数化构造函数,请使用malloc()方法。C ++中的“ malloc”或“内存分配”方法用于动态分配具有指定大小的单个大内存块。它返回类型为void的指针,该指针可以转换为任何形式的指针。

输出:

2.使用new关键字:new运算符表示在堆上分配内存的请求。如果有足够的内存可用,则new运算符将初始化内存,并将新分配和初始化的内存的地址返回给指针变量。这里,pointer-variable是data-type类型的指针。数据类型可以是任何内置数据类型,包括数组,也可以是任何用户定义的数据类型,包括结构和类。

对于动态初始化,如果我们添加参数化构造函数,则new关键字需要非参数化构造函数。因此,我们将使用一个虚拟构造函数

输出:

如果我们不使用虚拟构造函数,编译器将显示以下错误

编译器错误:

3.使用双指针(指向指针概念的指针):指向指针的指针是多种间接形式或一系列指针。通常,指针包含变量的地址。当我们定义指向指针的指针时,第一个指针包含第二个指针的地址,该地址指向包含实际值的位置,如下所示。

在这里,我们可以分配许多要分配的块,因此对于每个索引,我们必须使用new关键字调用参数化构造函数进行初始化。

输出:

4.使用Vector的类型:Vector是标准模板库中功能最强大的元素之一,可以轻松高效地编写与静态或动态数组相关的任何复杂代码。它采用一个可以是任何类型的参数,因此我们将Class用作向量的类型,并在循环的每次迭代中推送对象。

向量与动态数组相同,具有在插入或删除元素时自动调整大小的能力,并且容器自动处理其存储。矢量元素放置在连续的存储中,以便可以使用迭代器对其进行访问和遍历。在向量中,数据插入到最后。

输出:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201023A0HPFJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券