如何在C++中使用参数化构造函数初始化对象数组
对象数组:
当定义一个类时,只有对象的说明定义;没有内存或存储分配。要使用在类中定义的数据和访问函数,需要创建对象。
语法:
使用带参数构造函数初始化对象数组的不同方法:
1. 使用一组函数调用作为数组元素: 这就像普通的数组声明一样,但这里我们使用构造函数的函数调用作为该数组的元素进行初始化。
2. 使用malloc() : 为了避免调用非参数化构造函数,使用malloc()方法。“malloc”或“内存分配”方法在C++中用于动态分配指定大小的单个大内存块。它返回一个void类型的指针,可以转换为任何形式的指针。
输出:
3. 使用new关键字: new操作符表示对堆上的内存分配的请求。如果有足够的内存可用,new运算符将初始化内存并返回新分配和初始化内存的地址给指针变量。在这里,指针变量是数据类型的指针。数据类型可以是任何内置数据类型,包括数组或任何用户定义的数据类型,包括结构和类。
对于动态初始化,new关键字需要非参数化构造函数,如果我们添加了带参数的构造函数,则需要使用一个虚拟的构造函数。
输出:
输出: