Имя_функции( список_аргументов_функции)

{

//тело функции.

}

объявление объекта шаблонногокласса:

имя_класса_шаблона < список_аргументов_шаблона> имя_объекта;

Пример использования шаблонов будем рассматривать на создании очереди.

Связные списки и другие структуры.

Для работы с массивом необходимо знать его размерность, хотя бы в начале работы программы. Если это данное не известно то можно либо сильно увеличить резервируемую память, либо рисковать ограниченность пространства для данных в массиве. Данную проблему решают связные списки. Связанный список это структура данных, содержащая из взаимосвязанных блоков. Идея состоит в том, что бы создать класс, который поддерживал бы данные определённого типа, среди которых был бы указатель, связанный с другим объектом этого класса.

Существуют три основных вида списков:

§ Однонаправленные списки (очередь, стек);

§ Двунаправленные списки (дек и т.д.);

§ Деревья.

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

Список состоит из узлов, узлы представляют собой абстрактные классы. Начало — это начало обработки промежуточных узлов списка, которые отвечают за хранение данных, указатель узла - “хвост” обязательно имеет значение null (0).

// программа работы с динамическими списками при помощи классов.

// однонаправленные списки, двунаправленные списки и деревья.


#include <iostream.h>

#include <iomanip.h>

#include <fstream.h>

ofstream fout("rez.txt");

ifstream fin("rez.txt");

Class Data

{

public:

Data ();

~Data(){delete fam;}

int Compare(const Data &);

Void Show();

private:

char fam[25];

Float ball;

};

Data::Data()

{

cout<<"\n Введите фамилию и средний балл :";

cin>>fam>>ball;

}

void Data::Show()

{ cout.width(25);

cout.fill(' ');

cout<<fam;

Cout.width(10);

cout.fill('-');

Cout.precision(3);

cout<<ball<<"\n";

Fout.width(25);

fout.fill(' ');

fout<<fam;

Fout.width(10);

fout.fill('-');

Fout.precision(3);

fout<<ball<<"\n";

//fout<<fam<<"--"<<ball<<endl;

}

int Data::Compare(const Data &theO)

{

if(strcmp(fam,theO.fam)<0)return -1;

if(strcmp(fam,theO.fam)==0)return 0;

if(strcmp(fam,theO.fam)>0)return 1;

}

Class Node;

Class HeadNode;

Class TailNode;








Дата добавления: 2015-12-26; просмотров: 624;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.