Лабораторная работа: Описание класса

Слайд 2

Условие

Задание 1: Описание класса.
Запишите описание класса с именем ULICA, содержащего

Условие Задание 1: Описание класса. Запишите описание класса с именем ULICA, содержащего
следующие поля:
название улицы;
количество жителей;
количество домов.
Скройте элементы-данные от пользователя, предоставив интерфейс доступа к полям посредством открытых методов (предусмотрите объявление двух методов, один из которых присваивает значения полям класса, а другой – выводит значения этих свойств на экран). Объявите массив объектов созданного класса.
Задание 2: Реализация методов класса.
Напишите реализацию методов, предоставляющих доступ к данным класса. Отобразите в программе работу этих методов для объявленного ранее массива объектов.
Задание 3: Работа с объектами.
Добавьте в программу метод, который выводит количество домов, если название улицы, введенное с клавиатуры, совпало с названием улицы объекта.
Задание 4: Указатель на объект.
Добавьте в программу объявление указателя на объект и продемонстрируйте для него вызовы методов.

Слайд 3

#include
#include
#include
using namespace std;
class ULICA
{
private:
string name;
int git;
int dom;
public:
void setname(string name)
{
this->name =

#include #include #include using namespace std; class ULICA { private: string name;
name;
}
void setgit(double git)
{
this->git = git;
}
void setdom(int dom)
{
this->dom = dom;
}
string getname()
{
return this->name;
}
double getgit()
{
return this->git;
}
int getdom()
{
return this->dom;
}
void check(string checkname)
{
if (this->name == checkname)
{
this->dom;
cout << "количество домов" << this->dom << "\n";
}
}
};

Слайд 4

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int N;
cout << "Введите количество экземпляров класса";
cin >> N;
ULICA* arr =

int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); int N; cout cin >> N; ULICA*
new ULICA[N];
cout << «Ввод информации:" << endl;
for (int i = 0; i < N; i++)
{
string name;
double kolgit = 0;
int koldom = 0;
cout << "Имя улицы" << endl;
cin >> name;
arr[i].setname(name);
cout << "Кол-во жителей";
cin >> kolgit;
arr[i].setgit(kolgit);
cout << "Кол-во домов";
cin >> koldom;
arr[i].setdom(koldom);
}
cout << endl;
cout << "Введите название разыскиваемой улицы ";
string ul;
cin >> ul;
for (int i = 0; i < N; i++)
{
arr[i].check(ul);
}
system("pause");
return 0;
}

Слайд 5

Добавить конструктор и деструктор класса (в классе)

public:
//конструктор по умолчанию
ULICA() {
this->name = "Ленина";
this->git

Добавить конструктор и деструктор класса (в классе) public: //конструктор по умолчанию ULICA()
= 5;
this->dom = 10;
}
//конструктор с параметром
ULICA(string name, int git, int dom) {
this->name = name;
this->git = git;
this->dom = dom;
}
//деструктор
~ULICA() {
cout << "Деструктор сработал!" << endl;
}

Слайд 6

Добавить конструктор и деструктор класса

//конструктор по умолчанию
ULICA ul1;
cout << ul1.getname() << endl;
cout

Добавить конструктор и деструктор класса //конструктор по умолчанию ULICA ul1; cout cout
<< ul1.getgit() << endl;
cout << ul1.getdom() << endl;
//конструктор с параметром
ULICA ul2("Богдановича", 200, 100);
cout << ul2.getname() << endl;
cout << ul2.getgit() << endl;
cout << ul2.getdom() << endl;
//конструктор с параметром для массива экземпляров
int N;
cout << "Введите количество экземпляров класса";
cin >> N;
ULICA **ulica = new ULICA*[N];
for (int i = 0; i < N; i++)
{
ulica[i] = new ULICA ("Горького", 20,20);
cout << ulica[i]->getname() << endl;
cout << ulica[i]->getgit() << endl;
cout << ulica[i]->getdom() << endl;
}
Имя файла: Лабораторная-работа:-Описание-класса.pptx
Количество просмотров: 50
Количество скачиваний: 0