Форум программистов, компьютерный форум 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 -showme. Все на месте. Посмотрел в папке OpenMPI - библиотека на месте. Сделал небольшую программку типа
C++ чтение из файла помогите, пожалуйста, найти ошибку. При вводе данных о двух работниках, запись их в файл происходит нормально, а от чтение выдает ошибку(( #include <fstream> // для файлового ввода/вывода #include <iostream> using namespace std; const int len=32; const int maxen=100; class name{ private: 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; // 2 2 2
C++ Библиотеки на олимпиадах
Я собираюсь участвовать в олимпиаде по информатике(Украина). Я использую Microsoft Visual C++ 2010 Express. На олимпиадах, как я знаю часто используюn намного ранние версии этой программы. Скажите пожалуйста, есть ли запрещенные библиотеки на олимпиадах, такие как #include<getch>. Есть ли все библиотеки Microsoft Visual C++ 2010 Express например Microsoft Visual C++ 6.0 и более ранних. Мне это...
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, coo); _putch(c); static COORD coo0 = { 0, 0 }; SetConsoleCursorPosition(StdOutHandle, coo0); подробнее

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

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

02.08.2013, 20:17. Просмотров 907. Ответов 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;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru