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

Доступность полей при чтении из файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Метод прогонки краевых задач для обыкновен.дифф.ур-ий http://www.cyberforum.ru/cpp-beginners/thread1143840.html
Метод прогонки краевых задач для обыкновеных дифф. уравнений , можно или на си или на паскаль k(x)=sin^2(x)+1 q(x)=cosx f(x)=e^x \beta1=1
C++ Написать программу для вычисления СЛАУ методом простой итерации с использованием динамических массивов Нужно написать программу для вычисления СЛАУ методом простой итерации с использованием динамических массивов. СЛАУ выглядит так: \begin{cases}{a}_{11}{x}_{1}+{a}_{12}{x}_{2}+...+{a}_{1n}{x}_{n}={b}_{1} \\ {a}_{21}{x}_{1}+{a}_{22}{x}_{2}+...+{a}_{2n}{x}_{n}={b}_{2} \\ .........................................................\\ {a}_{n1}{x}_{1}+{a}_{n2}{x}_{2}+...+{a}_{nn}{x}_{n}={b}_{n}... http://www.cyberforum.ru/cpp-beginners/thread1143833.html
Построить таблицу истинности C++
Здравствуйте! В принципе задача фигня, единственное с чем у меня загвоздка, это в том что в выражении могут быть скобки, следовательно считать все по очереди нельзя, может есть у кого как распарсить строку со скобками?
C++ Посодействуйте в доработке программы с функциями-шаблонами
Для работы с двумерными массивами арифметических типов данных разработать шаблоны ввода и вывода массива, а также шаблон для решения задачи: - Подсчитать количество элементов, не попадающих в заданный интервал Есть наработки, шаблоны ввода и вывода вроде получились, и как сделать саму задачу понимаю, но как решить задачу с помощью шаблонов? Подскажите, пожалуйста. #include...
C++ Существует ли генератор кода С++? http://www.cyberforum.ru/cpp-beginners/thread1143811.html
Всем привет! Стало интересно следующее: существует ли генератор кода для С++? То есть я соединяю некие концепции какими-нибудь стрелочками, определяя их взаимосвязи, нажимаю кнопочку и генерируется код на С++... :) И чтобы не интерфейс (как встроенная визуал студия), а программные модули. Есть ли такое?
C++ Решение диф уравнений 2-ого порядка Какие есть алгоритмы для решения диф уравнений 2-ого порядка, программно разумеется. И еще надо чтобы алгоритм поддавался распараллеливанию с помощью openMP. А то в гугле ни одного примера найти не смог... подробнее

Показать сообщение отдельно
SMYH
 Аватар для SMYH
2 / 2 / 0
Регистрация: 23.10.2013
Сообщений: 38
09.04.2014, 20:44     Доступность полей при чтении из файла
Читая книгу Дейтела по С++, наткнулся на неясный код. В книге автор реализует задание:

Кликните здесь для просмотра всего текста
Создать для компании, которая может иметь до 100 клиентов,
программу для обработки кредита, которая способна хранить до 100 записей
фиксированной длины. Каждая запись должна состоять из полей номера
счета (служащего ключом записи), фамилии, имени и баланса счета.
Программа должна обеспечивать обновление счета, вставку нового счета,
удаление счета и вывод записей для всех счетов в форматированный
текстовый файл для распечатки.

Он реализует класс ClientData, в полях которого хранятся сведения (фамилии, счета, имена и т.д.). Поля класса закрыты, а доступ к ним осуществляется посредством get и set функций (в том числе и в конструкторе).
В примере, автор демонстрирует побайтовую запись из объектов этого класса(функция write из <fstream>), а затем и чтение из файла в эти объекты (read из <fstream>).

Вопрос вот в чем: почему он может получить доступ к закрытым полям класса, в то время как read и write не объявлены друзьями класса?

ЗЫ. Показать код не представляется возможным, т.к. копирование его - слишком трудоемкий процесс.

Добавлено через 18 минут
Забыл указать, как вызываются эти функции.

C++
1
2
3
outCredit.write( reinterpret_cast< const char * >( (client ), sizeof( ClientData ) ); 
 
inCredit.read( reinterpret_cast< char * >( ficlient ), sizeof( ClientData ) );
Может доступ возможен потому что мы приводим к const char*?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru