Есть класс
Код:
class Point{
    friend ostream& operator<<(ostream&, Point p);
    friend istream& operator>>(istream&, Point &p);
   .......
};
с переопределенными (перегруженными) оператрами ввода и вывода. Все работает:
Код:
Point p;
cin >> p;
Но теперь мне нужно читать значения не из консоли, а из файла. Как это сделать, не меняя класс? Чтение строки line из файла с дальнейшим 
Код:
line >> p;
 не работает:
Код:
    char filename[100];
    cin >> filename;
    ifstream myfile(filename);
    string line;
    istream *is;
    if (myfile.is_open()) getline (myfile,line);
    line >> p;
Я понимаю, что оператор перегружен для потока, а я пытаюсь скромить ему строку, но как ему строку дать в виде потока?