Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Поток как статическая компонента объкта - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ При компиляции не может найти mpi_cxx http://www.cyberforum.ru/cpp-beginners/thread932690.html
День добрый, компилирую программку через Makefile и mpicxx (OpenMPI), но при компиляции выдает /usr/bin/ld: cannot find -lmpi_cxx В Makefile нигде библиотеку не линкую. Проверил mpicxx...
C++ чтение из файла помогите, пожалуйста, найти ошибку. При вводе данных о двух работниках, запись их в файл происходит нормально, а от чтение выдает ошибку(( #include <fstream> // для файлового ввода/вывода... http://www.cyberforum.ru/cpp-beginners/thread932683.html
Почему не срабатывает инкремент? C++
В комментарии показал вывод программы. Все переменные почему равны 2 Получается инкремент не оказывает никакого влияния? int a=0, b=0, c=0; c = ++a = b = 2; std::cout << a << " " << b << "...
C++ Библиотеки на олимпиадах
Я собираюсь участвовать в олимпиаде по информатике(Украина). Я использую Microsoft Visual C++ 2010 Express. На олимпиадах, как я знаю часто используюn намного ранние версии этой программы. Скажите...
C++ Сравнение строк, чисел и т.д http://www.cyberforum.ru/cpp-beginners/thread932658.html
Вот, допустим, хочу я сделать проверку пароля :) Пишу: int main () { string login = "qwerty123"; cout << "Enter password: "; cin >> login; } И нужно сделать проверку пароля, с правильным...
C++ Доделайте прогу (Змейка) Как на этой основе сделать полноценную змейку? #include <conio.h> #include <windows.h> HANDLE StdOutHandle; void putcxy(char c, COORD &coo) { SetConsoleCursorPosition(StdOutHandle,... подробнее

Показать сообщение отдельно
ArkTaS
1 / 1 / 0
Регистрация: 01.07.2013
Сообщений: 127

Поток как статическая компонента объкта - C++

02.08.2013, 20:17. Просмотров 913. Ответов 20
Метки (Все метки)

Доброго вечера ! Выполняю упражнения по книге. Если вкратце то при компиляции возникает ошибка в результате добавления static fstream file в поле данных класса как того и требует упражнение (создать поток как стат компоненту объекта и создать 2 стат функции для управления). Может я что то неверно понял, подскажите пожалуйста, полная версия упражнения написана ниже.
C++
1
2
3
4
5
6
7
8
9
10
11
12
class employee
{
private:
 -||-
static fstream file;
public:
static void OpenFile()
{
   file.open("ex7.txt")
}
-||-
};
Упражнение: Другим подходом к добавлению файлового потока к объекту является превращение самого этого потока в статическую компоненту объекта. Для чего это делается? Ну, часто бывает проще представить себе поток связанным с классом в целом, а не с отдельными его объектами. К тому же, гораздо правильнее открывать поток только один раз для записи и чтения всего, что нужно. Например, мы открываем файл и начинаем последовательное чтение. Функция чтения всякий раз возвращает данные для следующего объекта. Указатель файла сдвигается при этом автоматически, так как между чтениями файл мы не закрываем.
Перепишите программы из упражнений 4 и 6 таким образом, чтобы использовать объект fstream в качестве статической компоненты класса name. Функционирование программы должно сохраниться. Напишите статическую функцию для открытия потока и еще одну — для сбрасывания файлового указателя и установки его на начало файла. Эту же функцию можно использовать для чтения всего файла.

Добавлено через 5 минут
Прошу прощения забыл инициализировать статическую компоненту после определения класса. Вопрос закрыт )
C++
1
2
3
4
5
6
7
class employee
{
private:
static fstream file;
..........
};
fstream employee::file;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru