| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > writing to one file from different objects |
| Автор: lostam 6.2.2009, 02:35 | ||
| Привет, Я очень недавно начал писать на С++ так что вопрос может показаться дурацким, но все же... Нужно чтобы все функции моего класса писали в один и тот же файл (result.tхt) так чтобы он открывался только один раз в начале процесса .
Мне нужно чтобы после последовательного вызова function1 and function2 в файле myfile.txt были две строчки: function1 function2 Буду очень признателен за помощь если кто-то объяснит как правильно объявить переменные и открыть файл . Модератор: пожалуйста пользуйся кнопкой "Код" |
| Автор: lostam 6.2.2009, 03:41 |
| Да, спасибо... я так и пытался, но ничего не получается class Transport : { public:Transport(..............): static ofstream myfilename, ......................................... } void start() // открываю здесь, потому вхто этот метод всегда вызывается в начале . Правильно? { ofstream myfilename("results.txt", std::ios::out); } virtual void function1 (arg1, arg2) { myfilename << " function1";} virtual void function1 (arg1, arg2) {myfilename << " function2"} |
| Автор: mes 6.2.2009, 05:35 | ||
| во первых оформляйте пожалуйста код, чтоб его можно было удобно читать во вторых :
вы определили новую переменную, ее и открываете, по окончанию функции переменная уничтожается. Чтоб работать с классовой переменной уберите определение (ofstream ) в третьих метод инициализирующий статичную переменную, тоже желательно должен быть статичным. |
| Автор: bsa 6.2.2009, 11:16 |
| lostam, в данном случае можно воспользоваться паттерном singleton - поищи в гугле информацию о нем. P.S.: а это вообще какой язык? Просто virtual не пишут вне объявления класса, а перед фигурными скобками этого объявления не ставят двоеточие, если нет списка предков. |
| Автор: math64 6.2.2009, 11:59 | ||
Модератор: не забывай форматировать код, иначе читать сложно |
| Автор: lostam 6.2.2009, 17:28 |
| Огромное спасибо ответившим! Проблема решена , код работает, научился пользоваться кнопкой "код" , первая неделя программирования на C++ подходит к концу, меня еще не уволили |
| Автор: bsa 6.2.2009, 18:35 | ||
|
| Автор: lostam 6.2.2009, 19:12 |
| Сделано. Ещё раз огромное спасибо!!! |