ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 17.10.2024
Просмотров: 5
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Тема: Проектирование классов с наследованием.
Цель: получение практических навыков проектирования классов и исследование механизмов открытого наследования в С++.
Задание 1.
В соответствии с индивидуальным заданием (см. приложение) разработать базовый класс и производные классы, которые наследуют базовый по типу public. Базовый класс и классы-наследники должны иметь собственные свойства и методы. Создать несколько объектов для каждого производного класса. Для инициализации объектов использовать конструкторы. Разработать меню, обеспечивающее:
-
отображение свойств объектов на экране;
-
изменение какого-либо свойства объектов;
-
определение Вычисляемого показателя;
-
выход из программы.
Вариант 10 – строительные материалы.
Текст программы:
set.h
#include
using namespace std;
class Object {
public:
string name;
int st, cost;
Object() : name(""), st(0), cost(0) {}
Object();
void allCost();
};
class Material : public Object {
public:
string name;
int mass, value;
Material() :name(""), mass(0), value(0) { };
Material();
void density();
};
class Instrument : public Object {
public:
string scope_of_application;
Instrument(): scope_of_application("") { }
Instrument();
void numbersWrench();
};
set.cpp:
#include
#include "set.h"
using namespace std;
Object::
Object()
{
name = "";
}
void Object::allCost()
{
cout << "Общая стоимость: " << st * cost << endl;
}
Material::
Material()
{
}
void Material::density()
{
cout << "Плотность сыпучего материала: " << mass / value << endl;
}
Instrument::
Instrument()
Тема: Проектирование классов с наследованием.
Цель: получение практических навыков проектирования классов и исследование механизмов открытого наследования в С++.
Задание 1.
В соответствии с индивидуальным заданием (см. приложение) разработать базовый класс и производные классы, которые наследуют базовый по типу public. Базовый класс и классы-наследники должны иметь собственные свойства и методы. Создать несколько объектов для каждого производного класса. Для инициализации объектов использовать конструкторы. Разработать меню, обеспечивающее:
-
отображение свойств объектов на экране;
-
изменение какого-либо свойства объектов;
-
определение Вычисляемого показателя;
-
выход из программы.
Вариант 10 – строительные материалы.
Текст программы:
set.h
#include
using namespace std;
class Object {
public:
string name;
int st, cost;
Object() : name(""), st(0), cost(0) {}
Object();
void allCost();
};
class Material : public Object {
public:
string name;
int mass, value;
Material() :name(""), mass(0), value(0) { };
Material();
void density();
};
class Instrument : public Object {
public:
string scope_of_application;
Instrument(): scope_of_application("") { }
Instrument();
void numbersWrench();
};
set.cpp:
#include
#include "set.h"
using namespace std;
Object::
Object()
Тема: Проектирование классов с наследованием.
Цель: получение практических навыков проектирования классов и исследование механизмов открытого наследования в С++.
Задание 1.
В соответствии с индивидуальным заданием (см. приложение) разработать базовый класс и производные классы, которые наследуют базовый по типу public. Базовый класс и классы-наследники должны иметь собственные свойства и методы. Создать несколько объектов для каждого производного класса. Для инициализации объектов использовать конструкторы. Разработать меню, обеспечивающее:
-
отображение свойств объектов на экране;
-
изменение какого-либо свойства объектов;
-
определение Вычисляемого показателя;
-
выход из программы.
Вариант 10 – строительные материалы.
Текст программы:
set.h
#include
using namespace std;
class Object {
public:
string name;
int st, cost;
Object() : name(""), st(0), cost(0) {}
Object();
void allCost();
};
class Material : public Object {
public:
string name;
int mass, value;
Material() :name(""), mass(0), value(0) { };
Material();Тема: Проектирование классов с наследованием.
Цель: получение практических навыков проектирования классов и исследование механизмов открытого наследования в С++.
Задание 1.
В соответствии с индивидуальным заданием (см. приложение) разработать базовый класс и производные классы, которые наследуют базовый по типу public. Базовый класс и классы-наследники должны иметь собственные свойства и методы. Создать несколько объектов для каждого производного класса. Для инициализации объектов использовать конструкторы. Разработать меню, обеспечивающее:
-
отображение свойств объектов на экране; -
изменение какого-либо свойства объектов; -
определение Вычисляемого показателя; -
выход из программы.
Вариант 10 – строительные материалы.
Текст программы:
set.h
#include
using namespace std;
class Object {
public:
string name;
int st, cost;
Object() : name(""), st(0), cost(0) {}
void density();
};
class Instrument : public Object {
public:
string scope_of_application;
Instrument(): scope_of_application("") { }
#include "set.h"
using namespace std;
Object::
{
name = "";
}
void Object::allCost()
{
cout << "Общая стоимость: " << st * cost << endl;
}
Material::
{
}
void Instrument::numbersWrench()
{
int res;
res = name.compare("инструменты");
if (res == 0) {
cout << "номера для покупки ";
for (int i = 1; i < 16; i++) {
cout << i << " ";
}
cout << endl;
}
}
main.cpp:
#include
#include
#include
#include "set.h"
using namespace std;
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
setlocale(LC_ALL, "Russian");
int key;
string s;
Material mat1;
Instrument inst1;
do {
cout << "Вы можете продолжить работу со следующими строительными материалами:"<< endl;
cout << "1)Сыпучие материалы" << endl;
cout << "2)Инструменты:" << endl;
cout << "3)Выход:" << endl;
cin >> key;
if (key == 1)
{
cout << "Введите название сыпучего материала: ";
cin >> mat1.name;
cout << "Введите количество и цену сыпучего материала: ";
cin >> mat1.st >> mat1.cost;
cout << "Введите объём(м3) и массу сыпучего материала(кг): ";
cin >> mat1.value >> mat1.mass;
mat1.allCost();
mat1.density();
}
else if (key == 2)
{
cout << "Введите название инструмента: ";
cin >> inst1.name;
cout << "Введите количество и цену инcтрумента: ";
cin >> inst1.st >> inst1.cost;
inst1.allCost();
inst1.numbersWrench();
}
else {
cout << ("Выход из программы");
break;
}
cout << "Для выхода введите 0, для продолжение введите 1" << endl;
cin >> key;
} while (key != 0);
return 0;
}
Результат работы программы:
Задание 1:
Вывод:
В ходе выполнения данной практической работы мне удалось поработать с классами и понять принцип работы наследования классов.
В первой программе пользователь может ввести данные об строительных материалах и выполнить с ними определённые действия.
В set.h описаны классы, в set.cpp реализация методов к ним, а в main.cpp – реализовано меню, с помощью которого пользователь может управлять программой.
В результате были получены практические навыки по разработке классов с наследованием.