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();

}

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

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


 

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

46345. Разработка привода цепного конвейера 986.97 KB
  Требуемая частота вращения вала электродвигателя где общее передаточное число кинематических пар изделия: где предварительное значение передаточного числа планетарного механизма u56’ – предварительное значение передаточного числа цепной передачи. Частоту вращения приводного вала вычисляем по формуле: об мин об мин Подбираем электродвигатель мощнстью 15 кВт и синхронной частотой вращения 750 об мин по табл. Определим чатоты вращения валов:...
46346. История автомобилестроения 207 KB
  В конце XIX столетия развитие автомобилестроения двигалось медленно и неповоротливо: с современным его роднил разве что двигатель внутреннего сгорания. Однако в 1914 году, с началом первой мировой войны, — спустя всего 29 лет с момента появления первой незатейливой модели Бенца
46347. Расчет погружного насоса 362.03 KB
  Анализ и оценка опасностей при выполнении работ связанных с обслуживанием скважин оборудованных УЭЦН. Для надежной работы насоса требуется его правильный подбор к данной скважине. При работе скважины постоянно меняются параметры плата призабойной зоны пласта свойства отбираемой жидкости: содержание воды количество попутного газа количество механических примесей и как следствие отсюда идет не доотбор жидкости или работа насоса...
46349. Деятельность предприятий в секторах рынка на примере ОАО Тирасполь-ТрансГаз-Приднестровье 203 KB
  Любое общество для удовлетворения многообразных потребностей человека сталкивается с извечной фундаментальной проблемой - проблемой адекватного, рационального использования ограниченных, редких ресурсов. Соответственно обществу приходится делать выбор
46350. Проектування механоскладального цеху укрупненим методом 386.66 KB
  крупнений розрахунок технологічних параметрів цеху Підготовка вихідних даних Режим роботи цеху та фонди часу Тип виробництва та форми організації робіт Склад цеху Розрахунок загальної кількості технологічного устаткування робочих місць та площі цеху Укрупнений розрахунок чисельності працюючих в цеху Проектування складської системи Транспортна система Проектування системи інструментального забезпечення Проектування системи ремонтного і технічного обслуговування...
46352. Проектирование системы водоснабжения и водоотведения жилого здания квартирного типа 242 KB
  Подключение к сети городского водопровода выполнено в водопроводном колодце В11 с установкой запорной арматуры задвижек. Отвод сточных вод от здания осуществляется самотеком в дворовую сеть канализации и затем в приемный колодец городской канализационной сети КК6. Диаметр трубы наружной сети водопровода 150 мм уличной сети канализации – 300 мм. Водоснабжение здания запроектировано от существующей городской водопроводной сети.