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

}

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

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


 

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

5552. Характеристика этапов моделирования Поставка и формализации задачи 122 KB
  Значение и содержание этапа Постановки задачи Постановка задачи является первым этапом моделирования. Решающее значение этого этапа для успеха исследования отмечается во всех работах, посвященных методологии моделирования. Сформулировать задачу...
5553. Опека и попечительство в гражданском праве 150.5 KB
  Введение Во всяком обществе могут оказаться лица, имеющие права (правоспособные), но не обладающие достаточной степенью разумения и зрелостью воли для самостоятельного управления своими делами (недееспособные). Таковы - несовершеннолетние и без...
5554. Общие основы педагогики 759.69 KB
  Общие основы педагогики Введение Дисциплина Общие основы педагогики представляет собой пропедевтический курс, предваряющий изучение ряда дисциплин предметной подготовки (ДПП) и общепрофессиональных дисциплин (ОПД), которые входят в основную образо...
5555. Расчет ректификационных установок. Теплообмен и технологическая схема установки 1.25 MB
  Введение Одним из наиболее распространенных методов разделения жидких однородных смесей, состоящих из двух или большего числа компонентов, является перегонка (дистилляция и ректификация). Перегонка представляет собой процесс, включающий частичное ис...
5556. Анализ производительности труда механо-сборочного цеха №3 (цех 184) ФГУП ПО Уралвагонзавод и определение резервов ее повышения 349.5 KB
  Введение Одним из самых наглядных и объективных показателей, определяющих рациональность использования имеющихся на предприятии кадровых ресурсов, является производительность труда. Производительность труда измеряется количеством продукции, произвед...
5557. Спроектировать одноступенчатый горизонтальный цилиндрический косозубый редуктор и клиноременную передачу для привода к ленточному конвейеру 1.14 MB
  Задание на проектирование Спроектировать одноступенчатый горизонтальный цилиндрический косозубый редуктор и клиноременную передачу для привода к ленточному конвейеру. Мощность на ведомом валу: P=12кВт Частота вращения ведомого вала: n2=400м...
5558. Организационная структура ОАО ЭМСС. Товарооборот и технические характеристики предприятия 479.5 KB
  Данный отчет освещает следующие темы: организационная структура ОАО ЭМСС, а также основные виды товаров и услуг, которые предоставляются предприятием организационная структура и задачи отдела главного технолога использо...
5559. Расчет фундаментов мелкого заложения и свайных фундаментов по I и II группе предельных состояний 742.58 KB
  Аннотация Приведены примеры расчета фундаментов мелкого заложения и свайных фундаментов по I и II группе предельных состояний. Рассмотрены примеры конструирования свайных ростверков, ленточных и столбчатых фундаментов. Методические указания предназн...
5560. Неопределенность измерения и ее отражение в описании результатов 218 KB
  Неопределенность измерения и ее отражение в описании результатов История вопроса В 1978 г. наивысший мировой авторитет в метрологии - Международный комитет мер и весов (МКМВ) обратился к Международному бюро мер и весов (МБМВ) с просьбой рассмот...