Заказать лабораторную работу на С++ (Гомель)
 
 
 
ЛАБОРАТОРНАЯ РАБОТА №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
 |