Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Завдання: Конструктор та Атрибути | Основи ООП у C++
Practice
Projects
Quizzes & Challenges
Вікторини
Challenges
/
C++ ООП
Секція 1. Розділ 10
single

single

bookЗавдання: Конструктор та Атрибути

Свайпніть щоб показати меню

Одне з основних призначень конструкторів — ініціалізація атрибутів класу. Наприклад, конструктор за замовчуванням може використовуватися для встановлення початкових значень. Наприклад:

main.cpp

main.cpp

copy
1234567891011121314
#include <iostream> class Person { public: Person() { name = "undefined"; } std::string name; }; int main() { Person person; std::cout << person.name; }

Якщо не вказати значення для атрибута name об'єкта, він буде встановлений у underfined за замовчуванням. Можна спробувати видалити цей конструктор, щоб побачити, які зміни відбудуться.

Ініціалізація атрибутів за допомогою конструктора

Як і функції, конструктори можуть приймати параметри, що дозволяє використовувати різні аргументи під час створення об'єкта. Також можна перевантажувати їх для обробки різної кількості аргументів.

main.cpp

main.cpp

copy
123456789101112131415161718
class Person { public: Person(std::string _name, std::string _surname, int _age) { name = _name; surname = _surname; age = _age; } std::string name; std::string surname; int age; }; int main() { Person person("Bob", "Song", 23); }
Завдання

Swipe to start coding

Уявіть, що ви створюєте просту систему картографування. Вам потрібно створити клас Location, який представляє точку на карті з назвою та координатами. Ваше завдання — реалізувати конструктор і метод для обчислення відстані до іншого місця.

  1. Реалізуйте конструктор, який ініціалізує всі три поля:
    • Конструктор повинен приймати три параметри: std::string для назви та два значення типу double для координат x і y.
    • Усередині конструктора присвойте параметр назви полю name об'єкта.
    • Присвойте параметр координати x полю x об'єкта.
    • Присвойте параметр координати y полю y об'єкта.
  2. Реалізуйте метод distanceTo, який приймає інший об'єкт Location як параметр:
    • Отримайте доступ до координат x і y як поточного об'єкта, так і іншого об'єкта.
    • Обчисліть різницю координат x: other.x - x.
    • Обчисліть різницю координат y: other.y - y.
    • Обчисліть відстань за формулою: sqrt(dx * dx + dy * dy).
    • Поверніть обчислену відстань як значення типу double.

Приклад

Location("Home", 0.0, 0.0) and Location("Office", 3.0, 4.0) -> 5.0
Location("Park", 1.0, 2.0) and Location("School", 4.0, 6.0) -> 5.0
Location("Cafe", -1.0, -1.0) and Location("Library", 2.0, 3.0) -> 5.0

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 10
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt