17558

Права доступу protected в C++

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

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

ЛАБОРАТОРНА РОБОТА № 22 Тема:Права доступу protected. Ціль:Ознайомити з доступом до компонентів базового класу при закритому спадкуванні include include class Gruzoperevozchik { protected: float vremya; float stoimost; char mesto[15]; float rasst; Gruzoperevosc...

Украинкский

2013-07-04

36 KB

1 чел.

ЛАБОРАТОРНА РОБОТА № 22

Тема: Права доступу protected.

Ціль: Ознайомити з доступом до компонентів базового класу при закритому спадкуванні

#include <iostream.h>

#include <conio.h>

#include <stdlib.h>

#include <stdio.h>

#include <string.h>

class Gruzoperevozchik {

protected:

float vremya;

float stoimost;

char mesto[15];

float rasst;

Gruzoperevoschik();

};

class Samolet:public Gruzoperevozchik {

public:

void SetStoimost(float);

void SetVremya(float);

void SetMesto(char*);

void SetRasst(float);

float GetStoimost();

float GetVremya();

char* GetMesto();

float GetRasst();

};

class Poezd:public Gruzoperevozchik {

public:

void SetStoimost(float);

void SetVremya(float);

void SetMesto(char*);

void SetRasst(float);

float GetStoimost();

float GetVremya();

char* GetMesto();

float GetRasst();

};

class Avtomobil:public Gruzoperevozchik {

public:

void SetStoimost(float);

void SetVremya(float);

void SetMesto(char*);

void SetRasst(float);

float GetStoimost();

float GetVremya();

char* GetMesto();

float GetRasst();

};

void Samolet::SetStoimost(float c)

{stoimost=c;}

void Samolet::SetVremya(float t)

{vremya=t;}

void Samolet::SetMesto(char* p)

{strcmp(p,mesto);}

void Samolet::SetRasst(float s)

{rasst=s;}

void Poezd::SetStoimost(float c)

{stoimost=c;}

void Poezd::SetVremya(float t)

{vremya=t;}

void Poezd::SetMesto(char* p)

{strcmp(p,mesto);}

void Poezd::SetRasst(float s)

{rasst=s;}

void Avtomobil::SetStoimost(float c)

{stoimost=c;}

void Avtomobil::SetVremya(float t)

{vremya=t;}

void Avtomobil::SetMesto(char* p)

{strcmp(p,mesto);}

void Avtomobil::SetRasst(float s)

{rasst=s;}

float Samolet::GetStoimost() {

return stoimost;}

float Samolet::GetVremya() {

return vremya; }

char* Samolet::GetMesto() {

return mesto; }

float Samolet::GetRasst() {

return rasst;}

float Poezd::GetStoimost() {

return stoimost;}

float Poezd::GetVremya() {

return vremya; }

char* Poezd::GetMesto() {

return mesto; }

float Poezd::GetRasst() {

return rasst;}

float Avtomobil::GetStoimost() {

return stoimost;}

float Avtomobil::GetVremya() {

return vremya; }

char* Avtomobil::GetMesto() {

return mesto; }

float Avtomobil::GetRasst() {

return rasst;}

void main()

{clrscr();

char p[15];

float c,s,t;

Samolet Tu_34;

Poezd Dizel;

Avtomobil Gaz;

cout << "Vvedite vremya dlya samoleta"<<endl;

cin >> t;

Tu_34.SetVremya(t);

cout << "Vvedite vremya dlya poezda"<<endl;

cin >> t;

Dizel.SetVremya(t);

cout << "Vvedite vremya dlya avto"<<endl;

cin >> t;

Gaz.SetVremya(t);

cout << "Vvedite stoimost dlya samoleta "<<endl;

cin >> c;

Tu_34.SetStoimost(c);

cout << "Vvedite stoimost dlya poezda"<<endl;

 cin >> c;

Dizel.SetStoimost(c);

cout << "Vvedite stoimost dlya avto"<<endl;

 cin >> c;

Gaz.SetStoimost(c);

cout << "Vvedite mesto dlya samoleta"<<endl;

 cin >> p;

Tu_34.SetMesto(p);

cout << "Vvedite mesto dlya poezda"<<endl;

 cin >> p;

Dizel.SetMesto(p);

cout << "Vvedite mesto dlya avto"<<endl;

 cin >> p;

Gaz.SetMesto(p);

cout << "Vvedite rasstoyanie dlya samoleta"<<endl;

 cin >> s;

Tu_34.SetRasst(s);

cout << "Vvedite rasstoyanie dlya poezda"<<endl;

 cin >> s;

Dizel.SetRasst(s);

cout << "Vvedite rasstoyanie dlya avto"<<endl;

 cin >> s;

Gaz.SetRasst(s);

float sum=0,sum1,s1;

char p1[15];

cout << "Vvedite uslovnua punkt"<<endl;

cin >> p1;

cout << "Vvedite uslovnoe rasstoyanie"<<endl;

cin >> s1;

if (Tu_34.GetRasst()==s1) sum+=Tu_34.GetVremya();

if (Dizel.GetRasst()==s1) sum+=Dizel.GetVremya();

if (Gaz.GetMesto()==p1) sum+=Gaz.GetVremya();

cout << "Obshee vremya na rasstoyanie "<<s1<<" - "<<sum<<endl;

 getch();

}

Выполнил: Стружко А.Ю

Проверил: Евтехова И.Е


 

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

71048. Изучение методов измерения: прямого преобразования и замещения 159 KB
  Целью работы является изучение методов измерения: дифференциального, прямого преобразования, замещения и их экспериментальное сравнение. При выполнении лабораторной работы студент должен: Знать: цель и содержание предстоящей работы, порядок ее выполнения и основные теоретические положения по данной теме.
71049. Изучение методов измерения: компенсационного, прямого преобразования и замещения 471 KB
  На панели лабораторного стенда установлена монтажная плата с сопротивлениями измерительного моста которые намотаны манганиновой проволокой что обеспечивает независимость их значений от влияния окружающей температуры. На лицевой панели стенда также установлен микроамперметр...
71051. Обработка двумерных массивов 323.5 KB
  Задание к лабораторной работе: Дана действительная квадратная матрица А размера n  n. Вычислить суммы элементов двух главных диагоналей матрицы. Схема алгоритма. Программа на языке Basic Расчет сумм элементов двух главных диагоналей матрицы.
71053. Программирование типовых алгоритмов 203.5 KB
  Задание к лабораторной работе Ввести восемь чисел и вычислить наибольшее среди четных чисел и его номер. Схема алгоритма. Программа на языке Basic Типовые алгоритмы CLS PRINT “Вычисление наибольшего четного числа из восьми введенных“ n = 8 max = -100000...
71054. Программирование простых циклических процессов 148.5 KB
  Составить таблицу значений массы жидкого продукта в емкости, имеющей форму параллелепипеда в зависимости от высоты жидкости в емкости. Высота меняется от 0,5 м до 2 м с шагом 0,5 м. Схема алгоритма. Программа на языке Basic...
71056. Исследование LC-автогенератора 272.5 KB
  Исследовать работу генератора в режиме синхронизации колебаний захват частоты. Путём изменения частоты генератора для различных значений фиксированного напряжения внешнего генератора экспериментально определяется область синхронизации автогенератора.