Завдання: Конструктор та Атрибути
Одне з основних призначень конструкторів — ініціалізація атрибутів класу. Наприклад, конструктор за замовчуванням може використовуватися для встановлення початкових значень. Наприклад:
main.cpp
1234567891011121314#include <iostream> class Person { public: Person() { name = "undefined"; } std::string name; }; int main() { Person person; std::cout << person.name; }
Якщо не вказати значення для атрибута name об'єкта, він буде встановлений у underfined за замовчуванням. Можна спробувати видалити цей конструктор, щоб побачити, які зміни відбудуться.
Ініціалізація атрибутів за допомогою конструктора
Як і функції, конструктори можуть приймати параметри, що дозволяє використовувати різні аргументи під час створення об'єкта. Також можна перевантажувати їх для обробки різної кількості аргументів.
main.cpp
123456789101112131415161718class 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, який представляє точку на карті з назвою та координатами. Ваше завдання — реалізувати конструктор і метод для обчислення відстані до іншого місця.
- Реалізуйте конструктор, який ініціалізує всі три поля:
- Конструктор повинен приймати три параметри:
std::stringдля назви та два значення типуdoubleдля координат x і y. - Усередині конструктора присвойте параметр назви полю
nameоб'єкта. - Присвойте параметр координати x полю
xоб'єкта. - Присвойте параметр координати y полю
yоб'єкта.
- Конструктор повинен приймати три параметри:
- Реалізуйте метод
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
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 3.13
Завдання: Конструктор та Атрибути
Свайпніть щоб показати меню
Одне з основних призначень конструкторів — ініціалізація атрибутів класу. Наприклад, конструктор за замовчуванням може використовуватися для встановлення початкових значень. Наприклад:
main.cpp
1234567891011121314#include <iostream> class Person { public: Person() { name = "undefined"; } std::string name; }; int main() { Person person; std::cout << person.name; }
Якщо не вказати значення для атрибута name об'єкта, він буде встановлений у underfined за замовчуванням. Можна спробувати видалити цей конструктор, щоб побачити, які зміни відбудуться.
Ініціалізація атрибутів за допомогою конструктора
Як і функції, конструктори можуть приймати параметри, що дозволяє використовувати різні аргументи під час створення об'єкта. Також можна перевантажувати їх для обробки різної кількості аргументів.
main.cpp
123456789101112131415161718class 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, який представляє точку на карті з назвою та координатами. Ваше завдання — реалізувати конструктор і метод для обчислення відстані до іншого місця.
- Реалізуйте конструктор, який ініціалізує всі три поля:
- Конструктор повинен приймати три параметри:
std::stringдля назви та два значення типуdoubleдля координат x і y. - Усередині конструктора присвойте параметр назви полю
nameоб'єкта. - Присвойте параметр координати x полю
xоб'єкта. - Присвойте параметр координати y полю
yоб'єкта.
- Конструктор повинен приймати три параметри:
- Реалізуйте метод
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
Рішення
Дякуємо за ваш відгук!
single