50725

Використання віртуальних і покажчиків для роботи з обєктами класів

Лабораторная работа

Информатика, кибернетика и программирование

Тема: Використання віртуальних і покажчиків для роботи з обєктами класів. Ціль роботи: вивчити і навчитися використовувати віртуальні функції в мові С++. Обладнання: ПК,ПО Borland C++

Украинкский

2014-01-29

38.5 KB

1 чел.

МП: Лабораторная                     Вариант №20                                Ярыдин Ярослав

Лабораторна робота №33

Тема: Використання віртуальних і покажчиків для роботи з об'єктами класів

Ціль роботи: вивчити і навчитися використовувати віртуальні функції в мові С++

Обладнання: ПК,ПО Borland C++

Хiд роботы

1. Правила безпеки у компютерному класi

2. Відповідно до індивідуального завдання на базі лабораторної роботи №22 розробити алгоритм роботи з об'єктами базових і похідних класів з використанням покажчиків на базові і похідні класи

Вар.

Умова задачі

20

Дано масив A(8). Сформувати новий масив з номерів негативних непарних чисел вихідного

Лiстiнг програми

Результат роботи

#include <iostream.h>

#define MaciB 8

class base_mas{

 public:

 double val[MaciB];

 base_mas(){

 for(int i=0;i<MaciB;i++)

 val[i]=0.;

 };

 void vvod(){

 cout<<"Введите массив из "<<MaciB<<" элементов: \n";

 for(int i=0;i<MaciB;i++)

 cin>>val[i];

 };

 void vivod(){

 cout<<"Отрицательный нечетный массив: \n";

 for(int i=0;i<MaciB;i++)

 cout<<val[i]<<" ";

 };

 void set(int ind, double val1){

 val[ind]=val1;

 };

 double get(int ind){

 return val[ind];

 };

 ~base_mas(){;};

};

class nn_mas: public base_mas{

 int count;

 public:

 nn_mas(){

 base_mas();

 count=0;

 };

 int kol(){

 return count;

 };

 void from_base(base_mas *bm){

 count=0;

 for(int i=0;i<MaciB;i++)

 if((bm->val[i]<0) && ((int)bm->val[i]%2!=0)){

   val[count]=bm->val[i];

   count++;

 };

 };

 void vivod(){

 cout<<endl<<"Отрицательный нечетный массив: \n";

 for(int i=0;i<count;i++)

 cout<<val[i]<<" ";

 };

};

void main(){

 base_mas *bm=new base_mas;

 nn_mas *nnm=new nn_mas;

 bm->vvod();

 nnm->from_base(bm);

 nnm->vivod();

 delete nnm;

 delete bm;

};

Висновок: я вивчив і навчився використовувати віртуальні функції в мові С++


 

А также другие работы, которые могут Вас заинтересовать

66526. СОБЫТИЙНЫЕ МОДЕЛИ ДИСКРЕТНЫХ СИСТЕМ. ЯЗЫК МОДЕЛИРОВАНИЯ ESimPL 985 KB
  Ресурс может одновременно выделяться нескольким транзактам процессам. К статическим характеристикам процесса относятся: длительность; результат; потребляемые ресурсы; условия запуска активизации; условия останова прерывания.
66527. Итерационные алгоритмы 61 KB
  Дана целочисленная квадратная матрица N*N. Определить: Количество строк, содержащих только различные элементы. Матрицу N*N заполнить натуральными числами от 1 до N*N по спирали, начинающейся в верхнем левом углу и закрученной по часовой стрелке.
66528. Реализация функций времени 200.77 KB
  Карта распределения ресурсов R0 – количество отрезков времени R1 - текущее значение адреса ячейки РПД Ячейки РПД 20h – 29h – ячейки для записи результата
66529. Интерполирование с помощью многочленов 369.88 KB
  В соответствии с вариантом исходное уравнение имеет вид: По узлам и соответствующим значениям функции построить интерполяционный многочлен, представив его в виде линейной комбинации значений.
66531. УПРАВЛЕНИЕ ПАМЯТЬЮ В ОС UNIX И WINDOWS 148.11 KB
  Цель работы — изучение аспектов организации работы с внутренней и внешней памятью в операционных системах семейств Unix и Windows. Использованные теоретические сведения Материалы из методического пособия...
66532. Обслуговування сканерів 17.04 KB
  Помістити чорнобілу фотографію на скляну робочу поверхню зображенням вниз лицьовою стороною до скла. Якщо використовується сторінковий сканер вставте чорнобілий документ в лоток з механізмом автоподачі листа вихідного зображення і переконайтеся що він правильно орієнтований...
66533. Освоение технологии структурного программирования при разработке и создании программы на языке Турбо Паскаль для циклического вычислительного процесса с неизвестным числом повторений 259.5 KB
  Цели работы: Освоение методики нисходящей разработки (проектирования) программы методом пошаговой детализации с помощью псевдокода при решении задач с помощью ПК. Освоение методов структурного программирования при разработке и создании программы на языке...
66534. Управление памятью в ОС UNIX и Windows 46 KB
  Напишите набор программ, удовлетворяющих теоретическому понятию оверлея. Каждый оверлей должен осуществлять какие-либо вычисления, выводя результаты в терминал, далее он передает управление другому оверлею из комплекса. Всего в комплексе должно быть не менее 4 оверлеев.