Управлять потоком входного файла

У меня есть текстовый файл данных, который содержит это

Map2D, [3, 2]
Dot3D, [25, -69, -33], [-2, -41, 58]
Map3D, [6, 9, -50]
Map2D, [3, 2]
Dot3D, [7, -12, 3], [9, 13, 68]
Map3D, [6, 9, 5]
Map2D, [3, 2]
Dot3D, [70, -120, -3], [-29, 1, 268]
Dot3D, [7, 12, 3], [-9, 13, 68]
Map3D, [1, 3, 8]
Dot2D, [5, 7], [3, 8]

В основном, текстовые файлы, первые данные, это имя класса, которое я получил 4 класса

Map2D
Map3D
Dot2D
Dot3D

Я пытался написать свой собственный манипулятор файлов, чтобы моя программа могла извлечь данные выше и перегрузить оператор извлечения >> для каждого из 4 класса, а затем сохранить его в соответствующий объект.

Я думал об использовании вектора, карты, набора или списка для хранения. но для этого, как мне добиться того, что я хочу сделать, например, сохранить в соответствующем объекте класса.

Я попытался найти, как создать свой собственный файловый манипулятор, но было бы неплохо, если бы кто-нибудь показал мне пример кода, и я мог скомпилировать и выполнить его, возможно, в тестовом файле, а затем сам проверить результат. Я хотел бы использовать iomanip для перегрузки >> оператор

Я должен использовать манипулятор, потому что мне нужно создать что-то вроде

Мне нужно сделать что-то вроде

cout < "Input File Name";
cin >> readFile;

Ответы на вопрос(2)

Ваш ответ на вопрос