Можно ли в C++ передавать массивы в функцию сразу при объявлении?
Можно так:#include <iostream>

void func(std::initializer_list<int> data)
{
	for(const auto& item : data) {
		std::cout << item << std::endl;
	}
}

int main() {
	func({1, 2, 3});
	std::cout << std::endl;
	func({1, 2, 3, 10, -1, 15});
	return 0;
}
используйте map  и в конструкторе создайте объекты-отображения. Затем созданные объекты добавьте в массив.  Затем такой массив будете использовать в классе, передавая его туда в конструктор.