Главная страница
Навигация по странице:

  • Шаблоны классов

  • Потоковые классы

  • Курс ООП в С презентация. ООП в с++(полный курс). Объекты и классы


    Скачать 1.76 Mb.
    НазваниеОбъекты и классы
    АнкорКурс ООП в С презентация
    Дата21.02.2022
    Размер1.76 Mb.
    Формат файлаppt
    Имя файлаООП в с++(полный курс).ppt
    ТипДокументы
    #368655
    страница16 из 26
    1   ...   12   13   14   15   16   17   18   19   ...   26

    Шаблоны классов


    Пример шаблонного класса для выбора одного из двух значений, хранящихся в этом классе. Параметрами шаблона являются тип значений и критерий выбора.
    template
    struct LessThan
    {
    bool operator()(const T&x,const T&y)
    {
    return x }
    };
    struct GreaterThan
    {
    bool operator()(const T&x,const T&y)
    {
    return x>y;
    }
    };

    Шаблоны классов


    template
    class PairSelect
    {
    T a, b;
    public:
    PairSelect(const T &x, const T & y):a(x),b(y){} //конструктор
    void Show()const
    {
    if(Compare()(a,b)) cout< }
    };
    void main()
    {
    PairSelect >p1(15,10);
    p1.Show(); //вывод 10
    PairSelect>p2(15.5,10.1);
    p2.Show(); //вывод 15.5
    }

    Шаблоны классов


    Средства стандартной библиотеки шаблонов (STL)
    Стандартная библиотека шаблонов STL (Standard Template Library), входящая в набор стандартных средств языка C++, предназначена для облегчения жизни разработчиков, дабы избавить их от самостоятельного программирования наиболее часто используемых архитектурных решений. В неё включены такие фундаментальные механизмы, как:
      потоки;
      строки;
      контейнерные классы;
      обобщённые алгоритмы;
      итераторы;
      численные методы.

    Шаблоны классов


    Ответственность классов и объектов
    Усложнение информационной системы за счет универсальных объектов, нагруженных всевозможными функциями, неизбежно приводит к потере качества и трудностям в совершенствовании программы.
    Предметная область определяется классами, моделирующими реальные сущности ключевых задач системы. Под этими сущностями обычно подразумеваются люди, места, вещи, организации, концепции и события.
    Соответствующие им классы должны описывать только тот минимум свойств и поведения, который характерен для реального прототипа объекта. Например, класс person не несет никакой ответственности за непосредственное взаимодействие с пользователем или базой данных, а используются другими объектами и функциями. Такими клиентами могут быть и средства диалога с человеком.
    В большинстве случаев именно человек определяет характеристики создаваемых объектов предметной области, но делая это с помощью элементов диалога. Сам диалог с пользователем чаще всего реализован с помощью форм графического или текстового интерфейса.


    Потоковые классы

    Потоковые классы


    Потоковые классы C++
    Наиболее частой задачей является получение от пользователя определённых данных или наоборот передача данных пользователю. Её решение можно рассматривать и как часть реализации некоторой функции, так и в виде самостоятельного объекта, предназначенного для получения данных от человека.
    Для примера можно взять поле ввода или меню различных видов: и то, и другое – объекты экранного диалога.
    Обычно ввод-вывод выполняется при помощи библиотеки потоков, системы графического пользовательского интерфейса или функциями ввода-вывода языка C. Эти интерфейсы ввода-вывода в первую очередь направлены на считывание и запись отдельных значений разнообразных типов.

    Потоковые классы


    Мы будем рассматривать потоки как наиболее простой вариант для реализации интерфейса с пользователем путём текстового представления экранного диалога.
    Поток — это абстрактное понятие, относящееся к любому переносу данных от источника к приемнику.
    Поток определяется как последовательность байтов и не зависит от конкретного устройства, с которым производится обмен (оперативная память, файл на диске, клавиатура или принтер). Обмен с потоком для увеличения скорости передачи данных производится, как правило, через специальную область оперативной памяти – буфер.
    Буфер накапливает байты, и фактическая передача данных выполняется после заполнения буфера. При вводе это дает возможность исправить ошибки, если данные из буфера еще не отправлены в программу.
    При неформатированном вводе-выводе передача информации осуществляется блоками байтов данных без какого-либо преобразования. При форматированном байты группируются таким образом, чтобы их можно было воспринимать как типизированные данные (целые числа, строки символов, числа с плавающей запятой и т. п.)

    1   ...   12   13   14   15   16   17   18   19   ...   26


    написать администратору сайта