ПредишенСледващото

шаблонни класове

клас шаблон Ви позволява да се дефинира клас. параметризирана тип данни. Прехвърляне на друг тип клас данни като параметър, за да създадете семейство сродни класове. Най-широко използваните шаблони са за създаване на класове на контейнери. Контейнер е клас. който е предназначен за съхранение на по никакъв начин с организираната данни и работи с тях. модели на използване има предимството, че след като алгоритъмът на данните са определени и отстранени грешки, той може да се прилага за всеки тип данни, без пренаписване на кода.

Създаване на клас шаблони

Разглеждане на процеса на създаване на клас шаблон в Пример списък двойно свързан. Защото списъци често се използват за организиране на данните, че е подходящо да се опише в списъка като клас, и както може да се наложи да се съхраняват данните от различни видове, този клас трябва да бъдат зададени параметрите.

Първо, помислете за undecorated версия на класа. Списъкът се състои от точки, взаимно чрез указатели. Всеки възел съхранява цяло число, което е даден списък на ключа. Ние описваме помощник клас да представлява един списък възел:

Тъй като този клас ще бъде описана в един клас, който представлява списък с полета за лесен достъп от външния клас предоставя (обществени). Това елиминира необходимостта от функциите за достъп и промяна на полета. Име на списъка на списък клас:

Помислете за прилагането на методи на клас. Методът на добавяне заделя памет за новия обект тип възел и я добавя към списъка, като се актуализира указатели към неговото начало и край:

намерите търсения метод за възел с даден ключ и връща указател към него в случай на успешно търсене и 0 при липса на такава единица в списъка:

метод вложка вмъква възел след списък възел с ключ ключ и връща указател към вмъкнат възел. Ако този сайт не е в списъка, въведете провали и връща стойност 0:

премахване на начин премахва възел с определен ключ от списъка и се връща вярно за успех и невярно. ако не бъде намерено с такава възлова точка в списъка:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!