CPP-101: Двусвързан списък с водещ елемент

Има множество различни начини за реализация на двусвързан списък. Ще разгледаме реализация на двусвързан списък с (фиктивен) водещ елемент.

Наличието на фиктивен водещ елемент макар на пръв поглед да изглежда като усложнение, всъщност води до опростяване на кода и по-елегантно дефиниране на итератор за списъка.

Има още

Публикувано в CPP-101, Кръг 2, ООП | Етикети: , , | Коментарите са изключени за CPP-101: Двусвързан списък с водещ елемент

CPP-101: Обработка на изключения

Обработка на грешки

Да си представим, че по време на изпълнение дадена функция открива ненормална, грешна ситуация. Причината за възникването на такава ситуация може да бъде различна – неправилни входни данни, препълване на диска, изчерпване на наличната динамична памет, невъзможност да се отвори файл и т.н. По какъв начин функцията трябва да реагира на такава ситуация?
Има още

Публикувано в CPP-101, ООП | Етикети: , , | 1 коментар

CPP-101: Входно изходни операции

Съвместимост с входно/изходните операции на C

Тъй като C++ и C са родствени езици, в една програма на C++ е напълно възможно да се използва стандартната C-библиотека за вход и изход. С други думи следната програма е валидна C++ програма.
Има още

Публикувано в CPP-101, ООП | Етикети: , , | 1 коментар

CPP-101: Пространство от имена (namespace)

Пространствата от имена (namespaces) са въведени в C++ като поддръжка на така нареченото модулно програмиране. По същество пространствата от имена позволяват изграждането на дървовидна структура от имена на идентификаторите в една C++ програма като по този начин намаляват риска от конфликт на имената.
Има още

Публикувано в CPP-101, ООП | Етикети: , , | 1 коментар

CPP-101: Класове и обекти

В езика C++ има няколко начина за дефиниране на типове от потребителя. Едната възможност е да се използват разгледаните вече структури struct. Другата възможност е да се използват класове.

Механизмът на класовете в C++ разполага с изключително богати възможности, което позволява дефинираните от потребителя типове да бъдат точно толкова мощни и изразителни, колкото и вградените в езика типове.
Има още

Публикувано в CPP-101, ООП | Етикети: , , | 2 Коментара

CPP-101: Структури

Дефиниране на структури

Структурата представлява съвкупност от една или повече променливи, които могат да от различни типове. Дефиницията на структура има следния синтаксис:

  • Заглавна част, която се състои от ключовата дума struct последвана от името на структурата.
  • Тяло, в което се описват членовете на структурата. Тялото на дефиницията е оградено от фигурни скоби и задължително трябва да бъде последвано от точка и запетая ‘;‘.

Има още

Публикувано в CPP-101, ООП | Етикети: , , | 1 коментар

CPP-101: Функции

Всяка програма на C или C++ има дефинирана поне една функция – main-функция. Всички програми, с изключение на най-тривиалните, дефинират допълнителни функции. Функциите служат за групиране на често използван код, като позволяват групирания код да се използват лесно и многократно.

Има още

Публикувано в CPP-101, ООП | Етикети: , , | 1 коментар

CPP-101: Указатели и масиви

Дефиниране на масиви

Масивите са производни типове, които представляват колекция от стойности с еднакъв тип. За даден тип T, типът T[size] представлява типът масив от size елемента от типа T.
Има още

Публикувано в CPP-101, ООП | Етикети: , , | 1 коментар

CPP-101: Промеливи и аритметика

Вградени типове данни

Езикът C++ наследява дефинираните в C базови типове – char, int, float, double и т.н.

Към тях е добавен нов тип bool – булев тип, чиито стойности могат да бъдат true или false.
Има още

Публикувано в CPP-101, ООП | Етикети: , , | 1 коментар

Домашно „Класове и интерфейси“ по ТП

Въпреки не леката задача добрите отзиви започнаха да идват. :

„Щях да питам как точно са свързани различните интерфейси с класовете, понеже всеки който попитах също не беше разбрал условието. Но след здраво четене схванах кое с кое върви и за утре остана написването на самият код.“

„Това, което бях тръгнала да правя, взех че го изтрих и почна да го правя с абстрактни класове, но мисля че вече ми стана ясно и ще успея да се справя :):):)
Благодаря много :):):)“

Изглежда след „здраво четене“ нещата се получават.

Публикувано в Java, Технология на програмирането | Коментарите са изключени за Домашно „Класове и интерфейси“ по ТП