Классы в C++ в Visual Studio
Введение в ООП и классы
Базовый синтаксис:
Базовый синтаксис:
Private (приватный)
Public (публичный)
Protected (защищенный)
Пример
Пример
Пример
Пример
Пример
Лабораторная работа 3
Лабораторная работа 3
Лабораторная работа 3
Лабораторная работа 3
Лабораторная работа 3
Конструкторы (Constructors)
Типы конструкторов:
Типы конструкторов:
Типы конструкторов:
Типы конструкторов:
Пример
Пример
Пример
Пример
Пример
Лабораторная работа 4
598.45K

Лекция 3

1. Классы в C++ в Visual Studio

КЛАССЫ В C++ В
VISUAL STUDIO

2. Введение в ООП и классы

■ Объектно-ориентированное программирование (ООП) - это парадигма
программирования, основанная на концепции объектов, которые содержат
данные и методы.
Основные принципы ООП:
■ Инкапсуляция - объединение данных и методов в одном объекте
■ Наследование - создание новых классов на основе существующих
■ Полиморфизм - использование объектов разных классов через общий интерфейс

3. Базовый синтаксис:

Private (приватный)
Public (публичный)
Protected (защищенный)
■ Доступ только внутри
класса
■ Доступ из любого места
программы
■ Доступ в классе и
производных классах
■ Защита данных от
некорректного изменения
■ Интерфейс класса методы для
взаимодействия
■ Используется при
наследовании
■ Реализация инкапсуляции
■ Обычно содержат методы,
реже - константы

4. Базовый синтаксис:

5. Private (приватный)

6. Public (публичный)

7. Protected (защищенный)

8. Пример

9. Пример

10. Пример

11. Пример

12. Пример

13. Лабораторная работа 3

"Класс Котик"
Условие задачи:
■ Создайте класс Cat, который представляет кота. Кот имеет имя, возраст, цвет и уровень
сытости.
Требования к реализации:
■ Создайте класс Cat с публичными полями: name, age, color
■ Добавьте приватное поле hungerLevel (уровень сытости от 0 до 100)
■ Реализуйте методы:
– meow() - выводит сообщение с именем кота
– eat() - увеличивает уровень сытости на 20
– play() - уменьшает уровень сытости на 10
– displayInfo() - показывает всю информацию о коте
– isHungry() - возвращает true, если уровень сытости меньше 30
■ В функции main() создайте 4-5 кота и продемонстрируйте работу всех методов

14. Лабораторная работа 3

"Банковский счет"
Условие задачи:

Создайте класс BankAccount для имитации банковского счета.
Требования к реализации:

Приватные поля: accountNumber, ownerName, balance, interestRate

Публичные методы:
– deposit(amount) - пополнить счет
– withdraw(amount) - снять средства (проверять достаточность)
– calculateInterest() - рассчитать проценты за год
– transfer(targetAccount, amount) - перевод на другой счет
– getAccountInfo() - информация о счете

Реализуйте проверки:
– Нельзя снять отрицательную сумму
– Нельзя снять больше, чем на счете
– При переводе оба счета должны существовать

Создайте 4-5 счета и продемонстрируйте операции между ними

15. Лабораторная работа 3

"Библиотека книг"
Условие задачи:
■ Разработайте систему учета книг в библиотеке с использованием класса Book.
Требования к реализации:
■ Приватные поля: title, author, year, ISBN, isAvailable
■ Статическое поле totalBooks для подсчета всех книг
■ Методы:
– borrowBook() - взять книгу
– returnBook() - вернуть книгу
– getBookAge() - сколько лет книге
– isAntique() - старше 50 лет
■ Создайте массив книг и реализуйте поиск:
– По автору
– По названию
– Доступные книги

16. Лабораторная работа 3

"Игровой персонаж"
Условие задачи:

Создайте класс GameCharacter для RPG-игры.
Требования к реализации:

Приватные поля: name, level, health, maxHealth, experience, attackPower

Методы:
– takeDamage(damage) - получить урон
– heal(amount) - восстановить здоровье
– attack(target) - атаковать другого персонажа
– gainExperience(exp) - получить опыт
– levelUp() - повысить уровень

Реализуйте механику:
– При достижении 100 опыта - повышение уровня
– При повышении уровня увеличивается maxHealth и attackPower
– Если здоровье ≤ 0 - персонаж умирает

Создайте 4-5 персонажа и смоделируйте бой между ними

17. Лабораторная работа 3

"Игровой персонаж"
Условие задачи:

Создайте класс GameCharacter для RPG-игры.
Требования к реализации:

Приватные поля: name, level, health, maxHealth, experience, attackPower

Методы:
– takeDamage(damage) - получить урон
– heal(amount) - восстановить здоровье
– attack(target) - атаковать другого персонажа
– gainExperience(exp) - получить опыт
– levelUp() - повысить уровень

Реализуйте механику:
– При достижении 100 опыта - повышение уровня
– При повышении уровня увеличивается maxHealth и attackPower
– Если здоровье ≤ 0 - персонаж умирает

Создайте 4-5 персонажа и смоделируйте бой между ними

18. Конструкторы (Constructors)

■ Конструктор - специальный метод, который автоматически вызывается при
создании объекта. Он инициализирует поля класса.
Особенности конструкторов:
■ Имя совпадает с именем класса
■ Не имеет возвращаемого типа
■ Может быть перегружен (несколько конструкторов)
■ Вызывается автоматически при создании объекта

19. Типы конструкторов:

1. Конструктор по умолчанию (Default Constructor)

20. Типы конструкторов:

2. Параметризованный конструктор (Parameterized Constructor)

21. Типы конструкторов:

3. Конструктор с списком инициализации (Initializer List)

22. Типы конструкторов:

4. Конструктор копирования (Copy Constructor)

23. Пример

24. Пример

25. Пример

26. Пример

27. Пример

28. Лабораторная работа 4

English     Русский Rules