Заказать лабораторную работу на С++ (Гомель)
ЛАБОРАТОРНАЯ РАБОТА №6. ШАБЛОНЫ
1) Определите класс Vector для хранения векторных данных:
template
class Vector
{
T vec[size];
...
};
Определите в классе следующие функции:
Vector(); – конструктор по умолчанию, который устанавливает значения элементов вектора в 0;
T& operator[](int index); – получение элемента по его индексу;
friend ostream& operator<<(ostream&, Vector&); – перенаправление вывода;
friend istream& operator>>(istream&, Vector&); – перенаправление ввода.
2) Определите класс Matrix для хранения двумерной матрицы:
template
class Matrix
{
T mat[M][N];
...
};
Определите в классе следующие функции:
Matrix(); – конструктор по умолчанию, который устанавливает значения элементов матрицы в 0;
T* operator[](int index); – получение указателя на начало строки матрицы с индексом index;
friend ostream& operator<<(ostream&, Matrix&); – перенаправление вывода;
friend istream& operator>>(istream&, Matrix&); – перенаправление ввода.
3) Определите узел бинарного дерева следующим образом:
template
class Node
{
T * data; //данные хранящиеся в узле
Node * left; //левая ветвь
Node * right; //правая ветвь
...
};
4) Определите элемент односвязного списка и список:
template
struct ListItem
{
T * data; //указатель на данные
ListItem * next; //указатель на следующий элемент
};
template
class List
{
ListItem * list;
...
};
5) Имеется элемент стека (дисциплина обслуживания LIFO) и стек:
template
struct StackItem
{
T * data; //указатель на данные
StackItem * prev; //указатель на предыдущий элемент
};
template
class Stack
{
StackItem * stack;
...
};
6) Имеется элемент очереди и очередь (дисциплина обслуживания FIFO):
template
struct QueueItem
{
T * data; //указатель на данные
QueueItem * next; //указатель на следующий элемент
};
template
class Queue
{
QueueItem * queue;
...
};
7) Определите класс Complex:
template
class Complex
{
T re; //вещественная часть
T im; //мнимая часть
...
};
8) Определите класс TreeNode – узел:
template
class TreeNode
{
char name[10]; //имя узла
T * data; //данные хранящиеся в узле
TreeNode * nodes; //список дочерних узлов
TreeNode * next; //следующий узел на том же уровне
...
};
9) Смотри вариант №2.
10) Определите структуру Pair – пара «ключ = значение» и класс Pairs – массив пар:
template
struct Pair
{
T1 key; //имя
T2 value; //значение
};
template
class Pairs
{
Pair * prs; //массив пар
int length; //размер массива
int count; //количество имеющихся пар в массиве
...
};
11) Определите класс Array – одномерный массив вещественных чисел:
template
class Array
{
T * arr; //непосредственно массив
unsigned size; //размер массива
...
};
|
|
ЛАБОРАТОРНАЯ РАБОТА №1. ПЕРЕХОД ОТ ЯЗЫКА С К ЯЗЫКУ С++
ЛАБОРАТОРНАЯ РАБОТА №2. КЛАССЫ
ЛАБОРАТОРНАЯ РАБОТА №3. ОБЪЕКТЫ КЛАССОВ
ЛАБОРАТОРНАЯ РАБОТА №4. ПЕРЕОПРЕДЕЛЕНИЕ ОПЕРАТОРОВ
ЛАБОРАТОРНАЯ РАБОТА №5. ПРОИЗВОДНЫЕ КЛАССЫ И ИЕРАРХИИ КЛАССОВ
ЛАБОРАТОРНАЯ РАБОТА №6. ШАБЛОНЫ
ЛАБОРАТОРНАЯ РАБОТА №7. ОБРАБОТКА ИСКЛЮЧЕНИЙ
ЛАБОРАТОРНАЯ РАБОТА №8. ДИНАМИЧЕСКАЯ ИДЕНТИФИКАЦИЯ И ПРИВЕДЕНИЕ ТИПА
Вы на сайте:
Student.Gomel.by
|