Отправляет email-рассылки с помощью сервиса Sendsay

Уроки по C/C++

  Все выпуски  

Уроки по C/C++


Информационный Канал Subscribe.Ru

Уроки по C/C++. Рассылки сайта progs.biz  
Начало > C++ > Основы C++ > Урок 31

Дж. Шеферд. Программирование на Microsoft Visual C++ .NET.
Дж. Шеферд. Программирование на Microsoft Visual C++ .NET
Заказать на Озоне


Полные версии уроков (с картинками): урок 31.

C/C++
Урок 31. Пара вспомогательных методов для списка

Сейчас мы с вами напишем пару вспомогательных методов для нашего класса списка.

Внесите в заголовочный файл класса списка объявления наших методов:

//Класс списка.
class CList
{
public:
  // Не пустой ли наш список?
  bool IsEmpty();
  // Предыдущий элемент в списке.
  CData * GetPrev(CData * p);
  ...

Первый метод короткий - с него и начнем. Он просто отвечает на вопрос, не пуст ли наш список. Вот его код:

bool CList::IsEmpty()
{
    return m_pFirst==NULL;
}

Второй метод возвращет по указателю на передаваемый в параметре элемент списка предыдущий для него (такой метод может оказаться весьма полезным, так как наш класс CData содержит только указатель на следующий элемент, а на предыдущий - нет). Вот его код:

CData * CList::GetPrev(CData *p)
{
    // Если предыдущего элемента списка нет
    // (т. е. наш элемент совпадает с первым)
    // то возвращем NULL.
    if(p==m_pFirst)
        return NULL;
    // Если предыдущий элемент есть.
    CData * pCurr = m_pFirst;
    do{
        // Если для очередного элемента в списке
        // следующий для него элемент есть
        // передаваемый нами в параметре,
        if(pCurr->m_pNext==p){
            // то и возвращаем этот очередной элемент.
            return pCurr;
        }
        // Переводим pCurr на следующий элемент в списке.
    }while((pCurr = pCurr->m_pNext)!=NULL);
    return NULL;
}

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

Рассылки сайта progs.biz
Visual C++, MFC
C# и .NET
VB.NET
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX new!
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
2002-2004 сайт progs.biz
2002-2004 Алексеев Игорь

http://subscribe.ru/
http://subscribe.ru/feedback/
Адрес подписки
Отписаться

В избранное