- •1.Краткий обзор агрегатного типа struct.
- •Intcena;
- •Int main()
- •Int cena;
- •Void vyvod(avto s)
- •Int main()
- •3.Понятие объединения union.
- •Void vyvod(avto s, int I)
- •Int main()
- •Intcena;
- •Int main()
- •Int cena;
- •Intmain()
- •Void reset(); …
- •Void Demo::reset() // определениефункции reset( )
- •9.Пример реализации класса для организации обработки символьной строки.
- •Int demochar::length()
- •Int main()
- •10.Пример реализации класса для организации обработки одномерного массива целочисленных значений.
- •11.Инициализация объектов.
- •Int main()
- •12Указатель this.
- •13.Постоянные функции-члены класса.
- •3. Class avto {
- •15. Int main()
- •14.Массив объектов.
- •3. Class avto {
- •24. Int main() {
- •15.Статические переменные-члены и функции-члены класса.
- •17. Staticint GetSumCena() { return SumCena; };
- •19. Staticint SumCena;
- •16 Дружественные функции.
- •8. Friendvoid GetFields(avto&);
- •17 Класс, содержащий переменную-член типа класс.
- •3. Class Date_Avto {
- •16. Class avto {
- •30. Int main()
- •18 Сложность больших программных систем.
- •19 Пять признаков сложной системы.
- •20 Роль декомпозиции, абстракции, иерархии при построении сложных систем.
- •21 Объектная модель.
- •Ood основывается на объектно-ориентированной декомпозиции;
- •25Пример программы с наследованием классов.
- •3. Class avto {
- •18. Class gruz_avto : public avto {
- •36. Int main(){
- •26 Переопределение функций-членов внутри производного класса.
- •3. Class avto {
- •18. Class gruz_avto : public avto {
- •30. Int main()
- •5.Classint_Matrix// класс для обработки целочисленной матрицы
- •45. Int main()
- •Int main()
- •2. Usingnamespace std;
- •3. Int main()
- •18. Return 0;
- •Int main()
- •20. F.Write((char*)&s,sizeof(s));
- •7. Intcena;
- •21. F.Write((char*)&s,sizeof(s)); };
- •22. F.Close();
- •25. F.Seekg(sizeof(s), ios_base::beg);
- •26. F.Read((char*)&s,sizeof(s));
21. F.Write((char*)&s,sizeof(s)); };
22. F.Close();
В строке 23 закрывается файл, а в 24 – двоичный файл открывается для чтения.
В строке 25 реализован прямой доступ ко второму экземпляру класса в двоичном файле, поскольку ios_base::beg означает, что отсчет начинается с начала файла, а смещение задается выражением sizeof(S). В 26 строке считывается значение второй записи файла, и курсор внутри файла позиционируется в начале третьей записи. В 27-28 строках соответствующие значения полей второй записи выводятся на экран.
25. F.Seekg(sizeof(s), ios_base::beg);
26. F.Read((char*)&s,sizeof(s));
27. cout << S.marka <<" "<< S.cena <<" "<<
28. S.rashod << endl;
В строке 29 реализован прямой доступ к четвертому экземпляру класса в двоичном файле, поскольку ios_base::cur означает, что отсчет начинается с текущей позиции курсора в файле (в данном случае с третьей), а смещение задается выражением sizeof(S). В 30 строке считывается значение четвертой записи файла, а в 31-32 строках соответствующие значения полей выводятся на экран.
29. F.seekg(sizeof(S),ios_base::cur);
30. F.read((char*)&S,sizeof(S));
31. cout << S.marka <<" "<< S.cena <<" "<<
32. S.rashod << endl;
В строке 33 реализован прямой доступ к первому экземпляру класса в двоичном файле, поскольку ios_base::beg означает, что отсчет начинается с начала файла, а смещение равно 0.В 34 строке считывается значение самой первой записи файла, а в 35-36 строках соответствующие значения полей выводятся на экран.
33. F.seekg(0,ios_base::beg);
34. F.read((char*)&S,sizeof(S));
35. cout << S.marka <<" "<< S.cena <<" "<<
36. S.rashod << endl;
В строках 38-39 выводится размер объекта класса avto.