Кажется, есть пара проблем. Во-первых, являются ли методы-члены операторов вставки и извлечения просто вспомогательными функциями? Для последнего подпись будет что-то вроде
istream & operator>>(istream& in, UndirectedGraph &g)
Для бывших
istream &UndirectedGraph::operator>>(istream& in, UndirectedGraph &g)
В любом случае, как показано выше, вы должны сделать параметр UndirectedGraph ссылочным аргументом. В противном случае вы просто передаете параметр по значению, что, вероятно, не то, что вам нужно.