Объектно-ориентированный подход к программированию 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Объектно-ориентированный подход к программированию



Организация многофайловых проектов

#pragma once

#ifndef MYLIB_H__

#define MYLIB_H__

 

#include <iostream>

 

namespace mylib {

  class Integer {

  private:

        int val;

  public:

        Integer(int v = 0);

        Integer(Integer const& v);

        int getVal()const;

        void setVal(int v);

        friend std::ostream& operator<<(std::ostream&, const Integer&);

        friend std::istream& operator>>(std::istream&, Integer&);

  };

 

}

 

#endif // MYLIB_H__

 

 

#include "mylib.h"

#include <iostream>

namespace mylib {

  Integer::Integer(int v):val(v) {}

  Integer::Integer(Integer const& v): val(v.val) {}

  int Integer::Integer::getVal()const { return val; }

  void Integer::setVal(int v) { val = v; }

 

  std::ostream& operator<<(std::ostream& output, const Integer& v) {

        output << v.val;

        return output;

  }

  std::istream& operator>>(std::istream& input, Integer& v) {

        input >> v.val;

        return input;

  }

}

 

 

#include <iostream>

#include <cstdlib>

#include "mylib.h"

 

using std::cout;

using std::cin;

using std::endl;

 

using namespace mylib;

 

int main() {

  Integer num1(1);

  cout << num1 << endl;

  cout << "New integer: "; cin >> num1;

  cout << num1 << endl;

  system("pause");

  return 0;

}

 

 

ЛАБОРАТОРНАЯ РАБОТА №3

Проектирование и использование классов

Цель работы

1. Изучить правила организации классов, как пользовательских (агрегативных) типов данных.

2. Исследовать сокрытия данных как один из базисных принципов объектно-ориентированного программирования.

3. Научится правильно проектировать и использовать интерфейс класса (функции-члены, методы).

4. Используя разработанные классы, создать прототип базы данных, организованной по принципу электронных таблиц (массив элементов класса).

Задания к лабораторной работе

Согласно заданию составить алгоритм и написать программу на языке С++. Программа компилируется и запускается под управлением ОС Linux. Разработанная программа должна содержать встроенную справочную информации, описывающую правила использования, цель назначения и информацию о разработчике. Аргументы запуска программа должна обрабатывать согласно рекомендациям POSIX.

Разрабатываемая программа предназначена для хранения массива экземпляров класса. Созданная электронная таблица, массив экземпляров класса должен сохраняться в бинарном файле. Для получения информации об объеме записей, в файл так же должен быть записан так называемый дескриптор электронной таблицы. Дескриптор, как минимум, должен содержать информации о количестве данных, которые записаны в указанный файл.

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

Поддерживаемые опции запуска:

-- help либо - h - запуск программы в режиме получения справки. После вывода справочной информации программа завершает работу.

[ N ] [ file _ name ] - запуск программы в режиме создания электронной таблицы записей, N – количество записей, file _ name – имя бинарного файла, в котором будет сохранен массив (таблица) записей.

- r [ N ] [ file _ name ] - запуск программы в режиме чтения содержимого бинарного файла file _ name, на экран должны быть выведены не более N записей. Следует учесть, что реальное количество записей в файле может не совпадать с заданным значением N. Если заданный файл окажется пуст, либо по какой-либо причине программа не сможет его открыть, должно быть выдано соответствующее сообщение.

В случае, если программа будет запущена с неопределенными разработчиком аргументами, программа должна выдать соответствующее сообщение и вывести минимальную справку о корректных аргументах запуска. Это так же касается случая, когда программа запускается без аргументов.

 

 


4. НАСЛЕДОВАНИЕ В С++

ЛАБОРАТОРНАЯ РАБОТА №4



Поделиться:


Последнее изменение этой страницы: 2021-06-14; просмотров: 37; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.191.22 (0.005 с.)