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

}

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

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


 

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

62316. Сучасний урок української мови в допоміжній школі 18.3 KB
  Уроки української мови за своїм характером за їх змістом методикою проведення метою можуть бути різноманітними. У залежності від мети виділяється три основних типи уроку з української мови: аповідомлення учням нових знань бзакріплення вперевірки...
62318. СВЯЗЬ УРОКОВ ВОСПРИЯТИЯ С УРОКАМИ ПРАКТИЧЕСКОЙ ДЕЯТЕЛЬНОСТИ 23.71 KB
  Задания развивающие графическую речь школьников имеют целью: Перевести детей в ситуацию привычную данному возрасту а именно: от словесных ответов к рисованию к деятельности; Активизировать мышление и восприятие детей при помощи процесса рисования во время которого дети видят...
62323. Применение технологии «Дебаты» на уроках географии 80.5 KB
  Технология Дебаты создана на базе международной программы Дебаты основанной в 1993 году Институтом Открытое общество. Практически сразу оформилось 2 направления развития технологии Дебаты: в учебном процессе и во внеучебной деятельности.
62324. Технология NURBS-моделирования. Создание моделей с помощью кривых 1.08 MB
  Рассмотрим NURBS-кривые, потом перейдем к NURBS-поверхностям. Далее сделаем с помощью NURBS-кривых модель. В завершающей части наложите на созданные объекты материалы.