带示例的C ++中带有参数化构造函数的对象数组

关于构造函数的最新文章(如果您没有阅读它们,我建议您先阅读它们),这里是涵盖的主题:

  • C ++中的构造函数是什么?

  • C ++中的默认或零参数构造函数是什么?

  • C ++中的参数化构造函数

在本文中,我们将学习如何在C ++编程语言中使用参数化构造函数创建对象数组时如何初始化数据成员?

正如我们在上一篇文章中讨论的那样,参数化构造函数使创建类时传递的参数(参数)可以初始化数据成员。我们还可以使用参数化的构造函数来初始化对象数组的数据成员。就像数组初始化一样,它非常简单:

考虑给定的对象数组声明:

假设有一个名为Demo的类,其中有三个整数类型为A,B和C的数据成员,并且该类中存在参数化的压缩器,我们可以像这样初始化数据成员:

Demo obj[2] = {{1,2,3},{11,12,13}};

在这里,obj [0]将用1,2,3初始化,而obj [1]将用11,12 13初始化。

考虑给定的程序:

#include <iostream>
using namespace std;

class Demo
{
	private:
		int A;
		int B;
		int C;
	public:
		//参数化的构造函数
		Demo(int A, int B, int C);
		void set(int A, int B, int C);
		void print();
};

Demo::Demo(int A, int B, int C)
{
	this->A  = A;
	this->B  = B;
	this->C  = C;
}		

void Demo::set(int A, int B, int C)
{
	this->A  = A;
	this->B  = B;
	this->C  = C;
}

void Demo::print()
{
	cout<<"Value of A :  "<<A<<endl;
	cout<<"Value of B :  "<<B<<endl;
	cout<<"Value of C :  "<<C<<endl;
}

int main(){
	//用对象数组调用参数化构造函数。
	Demo obj[2] = { {1,2,3}, {11,12,13}};

	//打印值
	obj[0].print();
	obj[1].print();
	
	//设置新值
	obj[0].set(100,200,300);
	obj[1].set(1000,2000,3000);
	
	//打印值
	obj[0].print();
	obj[1].print();
	
	return 0;
}

输出结果

Value of A :  1
Value of B :  2
Value of C :  3
Value of A :  11
Value of B :  12
Value of C :  13
Value of A :  100
Value of B :  200
Value of C :  300
Value of A :  1000
Value of B :  2000
Value of C :  3000