Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Challenge: Methods of the Class | Основи ООП у C++
ООП C++
Секція 1. Розділ 5
single

single

Challenge: Methods of the Class

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

Методи у класі — це, по суті, звичайні функції, які визначені всередині класу. Вони використовуються для визначення поведінки або дій, які можуть виконувати об'єкти цього класу.

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

Реалізація методів поза класом

Методи можна визначати поза оголошенням class, використовуючи оператор розв'язання області видимості (::). Це часто робиться для відокремлення оголошення у заголовочному файлі від реалізації у файлі з кодом. Ось як це виглядає:

Example.h

Example.h

Example.cpp

Example.cpp

1234
class Example { public: void Method(); };

Не обов'язково створювати два окремі файли для цієї мети; це можна реалізувати в одному файлі, і в певних випадках це є корисним.

main.cpp

main.cpp

12345678
#include <iostream> class Example { public: void Method(); }; void Example::Method() { std::cout << "Method was called" << std::endl; }

Загальноприйнята хороша практика — відокремлювати оголошення та реалізацію.

Завдання

Проведіть, щоб почати кодувати

Уявіть, що ви створюєте просту систему для розрахунку ціни продукту з урахуванням знижки. Система також повинна застосовувати спеціальне правило: жодна знижка не може перевищувати 50%, навіть якщо вказано більше значення.

У вас є клас Product з такими полями:

  • price типу float
  • discount типу float

Вам потрібно реалізувати метод getFinalPrice(), який:

  1. Перевіряє значення знижки: якщо воно більше 50%, встановлює його рівним 50%.
  2. Обчислює фінальну ціну та повертає її:
    • У дужках обчисліть суму знижки за формулою (price * discount / 100)
    • Відніміть суму знижки від price, щоб отримати фінальну ціну після знижки

Рішення

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

some-alt