Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Упражнения. 1. Создайте шаблон на основе данного класса List:






     

    1. Создайте шаблон на основе данного класса List:

    class List

    {

    public:

    List(): head(0), tail(0), theCount(0) { }

    virtual ~List();

    void insert(int value);

    void append(int value);

    int is_present(int value) const;

    int is_empty() const { return head == 0; }

    int count() const { return theCount; }

    private:

    class ListCell

    {

    public:

    ListCell(int value, ListCell *cell =): val(value), next(cell){ }

    int val;

    ListCell *next;

    };

    ListCell *head;

    ListCell *tail;

    int theCount;

    };

    2. Напишите выполнение обычной (не шаблонной) версии класса List.

    3. Напишите шаблонный вариант выполнения.

    4. Объявите три списка объектов: типа Strings, типа Cat и типа int.

    5. Жучки: что неправильно в приведенном ниже программном коде? (Предположите, что определяется шаблон класса List, а Cat — это класс, определенный на одном из предыдущих занятий.)

    List< Cat> Cat_List;

    Cat Felix;

    CatList.append(Felix);

    cout < < " Felix is " < < (Cat_List.is_present(Felix))? " ": " not " < < " present\n";

    6. ПОДСКАЗКА (поскольку задание не из самых легких): подумайте, чем тип Cat отличается от типа int?

    7. Объявите дружественный оператор operator== для класса List.

    8. Напишите выполнение дружественного оператора operator== для класса List.

    9. Грешит ли оператор operator== той же проблемой, которая существует в упражнении 5?

    10. Напишите выполнение функции шаблона, осуществляющей операцию обмена данными, в результате чего две переменные должны обменяться содержимым.

    11. Напишите выполнение класса SchoolClass, показанного в листинге 19.8, как списка. Для добавления в список четырех студентов используйте функцию push_back(). Затем пройдитесь по полученному списку и увеличьте возраст каждого студента на один год.

    12. Измените код из упражнения 10 таким образом, чтобы для отображения данных о каждом студенте использовался объект функции.

     

    День 20-й. Отслеживание исключительных ситуаций и ошибок

     

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

    • Что представляют собой исключительные ситуации

    • Как перехватываются и обрабатываются исключения

    • Что такое наследование исключений

    • Как использовать исключения в общей структуре отслеживания и устранения ошибок

    • Что представляет собой отладка программы






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.