Я работаю над проектом, связанным со многими различными операциями с наборами. У меня есть конкретный вопрос о передаче по ссылке. В файле заголовка я создал объект под названием SoS, который представляет собой набор строк, а его личные члены данных представляют собой вектор строк, называемых m_vos, и булевский, называемый m_cofinite. Вот пример моей путаницы с функцией пересечения, которую я создаю.C++ передача объектов в функции
SoS::makeIntersection(const SoS& B) const {
}
Это функция, которую я создаю, и ей необходимо создать пересечение множеств. Я хотел бы подойти к этому, перейдя в цикле и объединив обе совокупности, а затем удалив элементы, которые являются частью обоих исходных множеств, поэтому дадут мне пересечение двух. Я знаю логично, как я мог это сделать, но я смущен тем, что я передаю в функцию, и как я могу использовать два набора, когда только один кажется переданным (мне сказали, что я не могу изменить структуру так что это должно быть так). Любая помощь приветствуется.
У вас есть два комплекта. набор, который вы назвали 'makeIntersection', и набор, который вы передаете ему. – NathanOliver
Хорошо, что имеет большой смысл. Я знаю, что одно будет называться m_vos, потому что оно связано с объектом. Будет ли другой просто B? –
Я понимаю, что вам не дали выбора в этом вопросе, но так же, как fyi, в большинстве случаев нечто вроде набора пересечений должно быть определено как свободная функция, принимающая оба набора в качестве аргументов. –