Классы и объекты
Автор: Данила Головачев • Ноябрь 29, 2020 • Лабораторная работа • 1,936 Слов (8 Страниц) • 389 Просмотры
Министерство науки и высшего образования Российской Федерации
Федеральное государственное автономное образовательное учреждение высшего образования
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ ИТМО»
Факультет среднего профессионального образования
ОТЧЕТ
О ЛАБОРАТОРНОЙ РАБОТЕ № 1
по теме: “Классы и объекты”
по дисциплине: Разработка программных модулей
Специальность:
09.02.07 Информационные системы и программирование
Проверил: Теричев М.С. Дата: «23» ноября 2020г. Оценка ______________ | Выполнил: студент группы Y2331 Головачёв Д.А.
|
Санкт-Петербург 2020/2021
Цель работы: Изучить описание классов в языке программирования C++ и создание объектов.
Задание: Реализовать базовый класс Pokemon и на основе его написать свои классы для своих видов (трёх) покемонов. Каждый вид покемона должен иметь стандартные базовые характеристики:
- имя покемона
- очки здоровья (HP)
- атака (attack)
- защита (defense)
- скорость (speed)
Для дочерних классов:
- специальная атака (special attack)
- специальная защита (special defense)
Реализовать геттеры и сеттеры для каждого поля покемона.
2 ВАРИАНТ
Реализовать сохранение информации о всех покемонах в файл со структурой JSON.
Листинг main.cpp:
#include "pokemon.h"
#include <iostream>
#include <string>
#include <fstream>
int main()
{
Pok1 PokOne("Pikachu", 10000,5000,12000,50000,"Thunderbolt","Thunder Barrier");
std::cout << PokOne.getName() << "; " << PokOne.getHP() << " HP; " << PokOne.getAttack() << " Attacks; " << PokOne.getDefense() << " Defense; " << PokOne.getSpeed() << " Speed; " << PokOne.getSpec_attack() << "; " << PokOne.getSpec_defense() << std::endl;
Pok2 PokTwo("Dno", 1000,500,1200,5000,"bottom impact","bottom barrier");
Pok3 PokTre("Bog", 10500,5060,12340,90000,"Singularity of Terror","Denier of laws");
std::ofstream myfile ("myfile.txt");
if(!myfile.is_open()) { //мы, веном
std::cout << "Error open" << std::endl;
} else {
std::cout << "open" << std::endl;
myfile << "{\n";
myfile << "\t\"pokemons\": [\n";
myfile << "\t\t{\n";
myfile << "\t\t\t\"Name\":" << PokOne.getName() << ",\n";
myfile << "\t\t\t\"HP\":" << PokOne.getHP() << ",\n";
myfile << "\t\t\t\"Attacks\":" << PokOne.getAttack() << ",\n";
myfile << "\t\t\t\"Defense\":" << PokOne.getDefense() << ",\n";
myfile << "\t\t\t\"Speed\":" << PokOne.getSpeed() << ",\n";
myfile << "\t\t\t\"Spec_Attacks\":" << PokOne.getSpec_attack() << ",\n";
myfile << "\t\t\t\"Spec_defense\":" << PokOne.getSpec_defense() << "\n";
myfile << "\t\t},\n";
myfile << "\t\t{\n";
myfile << "\t\t\t\"Name\":" << PokTwo.getName() << ",\n";
myfile << "\t\t\t\"HP\":" << PokTwo.getHP() << ",\n";
myfile << "\t\t\t\"Attacks\":" << PokTwo.getAttack() << ",\n";
myfile << "\t\t\t\"Defense\":" << PokTwo.getDefense() << ",\n";
myfile << "\t\t\t\"Speed\":" << PokTwo.getSpeed() << ",\n";
myfile << "\t\t\t\"Spec_Attacks\":" << PokTwo.getSpec_attack() << ",\n";
myfile << "\t\t\t\"Spec_defense\":" << PokTwo.getSpec_defense() << "\n";
myfile << "\t\t},\n";
myfile << "\t\t{\n";
myfile << "\t\t\t\"Name\":" << PokTre.getName() << ",\n";
myfile << "\t\t\t\"HP\":" << PokTre.getHP() << ",\n";
myfile << "\t\t\t\"Attacks\":" << PokTre.getAttack() << ",\n";
myfile << "\t\t\t\"Defense\":" << PokTre.getDefense() << ",\n";
myfile << "\t\t\t\"Speed\":" << PokTre.getSpeed() << ",\n";
myfile << "\t\t\t\"Spec_Attacks\":" << PokTre.getSpec_attack() << ",\n";
myfile << "\t\t\t\"Spec_defense\":" << PokTre.getSpec_defense() << "\n";
myfile << "\t\t},\n";
myfile << "\t]\n";
...