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

}

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

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


 

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

6494. Автоматический стояночный тормоз исключающий самодвижение подвижного состава на станционных путях, перегонах и в пунктах его отстоя 137 KB
  Автоматический стояночный тормоз исключающий самодвижение подвижного состава на станционных путях, перегонах и в пунктах его отстоя. Известно, что при движении железнодорожного подвижного состава под действием силы тяги локомотива последняя расходуе...
6495. Индексный метод в статистических задачах 93.5 KB
  Индексный метод в статистических задачах Цель работы: научиться выполнять расчеты индексов переменного, постоянного состава и структурных сдвигов, расчет индексов с использованием формул взаимосвязи индексов...
6496. Индивидуально–изменчивое поведение 90 KB
  А.Р. Лурия. Индивидуально–изменчивое поведение Прошлые занятия были посвящены наследственно закрепленным формам поведения, которые позволяют животному осуществлять наиболее адекватные формы поведения к медленно изменяющейся или неизменной среде...
6497. А.Р. Лурия. Инстинктивное поведение животных 112.5 KB
  А.Р. Лурия. Инстинктивное поведение животных В прошлый раз мы остановились на проблеме происхождения психики и на основных механизмах наиболее простых форм поведения. Мы видели, какое решающее значение имеет факт возникновения реакций на нейтральные...
6498. Трансляция агрессии через имитацию модели агрессивного поведения 303.5 KB
  Трансляция агрессии через имитацию модели агрессивного поведения Предыдущее исследование, проведенное с целью объяснения феномена идентификации на основе случайного научения, показало, что дети с готовностью имитируют поведение, демонстрируемо...
6499. Запоминание законченных и незаконченных действий 1.26 MB
  Запоминание законченных и незаконченных действий Намерение не просто порождает тенденцию к осуществлению намеченного действия при наступлении предусмотренного подходящего случая. Скорее, оно отвечает потребности (точнее, квазипотребности), которая...
6500. О двух типах условного рефлекса 118 KB
  О двух типах условного рефлекса Работа Скиннера о двух типах условного рефлекса представляет значительный интерес в качестве попытки внести больше ясности и точности, чем было ранее сделано, в ту старую и часто обсуждаемую тему условного рефлек...
6501. Психологическое влияние окружающей среды 319.5 KB
  В данной работе речь пойдет лишь о психологическом влиянии окружающей среды. Это не означает, что физическое воздействие окружения, например воздействие питания или климата, не имеет психологического значения. Напротив, мы считаем, что ребенок...
6502. Намерение, воля и потребность 503 KB
  Намерение, воля и потребность Предисловие Основная часть данной работы представляет собою расширенный вариант доклада, предназначавшегося для XI Конгресса по экспериментальной психологии (Мюнхен, 1925 г.), от участия в котором мне пришлось отказатьс...