Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Объектно-ориентированное программирование (ооп). Наследование и полиморфизм. Простое и множественное наследование

 

Разработайте программу на языке С++, использующую наследование.

Вариант 1. Издательская компания торгует книгами и аудио-записями книг. Создайте класс Publication, в котором хранятся название (строка) и цена (тип float) книги. От этого класса наследуются два класса Book, который содержит информацию о количестве страниц в книге (тип int) и type, который содержит время записи книги в минутах (тип float). В каждом из этих трех классов должен быть метод getdata(), через который можно получать данные от пользователя с клавиатуры, и putdata(), предназначенный для вывода этих данных.

Напишите функцию main() программы для проверки классов Book и Type. Создайте их объекты в программе и запросите пользователя ввести и вывести данные с использованием методов getdata() и putdata().

Вариант 2. Создайте базовый класс Car (машина), характеризуемый торговой маркой (строка), числом цилиндров, мощностью. Определить методы переназначения и изменения мощности. Создать производный класс Lorry (грузовик), характеризуемый также грузоподъемностью кузова. Определить функции переназначения марки и изменения грузоподъемности.

Вариант 3. Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения и деления. Создайте производный класс, в котором определите операции вычисления модуля комплексного числа и комплексно спряженного.

Вариант 4. Создайте класс Liquid (жидкость), имеющий поля названия и плотности. Определить методы переназначения и изменения плотности. Создайте производный класс Alcohol (спирт), имеющий крепость. Определить методы переназначения и изменения крепости.

Вариант 5. Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в тригонометрической форме и основных операций с ними: сложения, вычитания, умножения и деления. Создайте производный класс, в котором определите операции вычисления действительной и мнимой частей комплексного числа, а также комплексно спряженного.

Вариант 6. Создайте класс Man (человек) с полями: имя, возраст, пол и вес. Определите методы переназначения имени, изменения возраста и изменения веса. Создайте производный класс Student,имеющий поле года обучения. Определите методы переназначения и увеличения года обучения.

Вариант 7. Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения и деления (в том числе и на действительные числа). Создайте производный класс, в котором определите метод для вычисления комплексной экспоненты .

Вариант 8. Создайте класс Triangle (треугольник) с полями-сторонами. Определите методы изменения сторон, вычисления углов, вычисления периметра. Создайте производный класс Equilateral (равносторонний), имеющий поле площади. Определите метод вычисления площади.

Вариант 9. Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения и деления (в том числе и на действительные числа). Создайте производный класс, в котором определите метод для вычисления комплексного косинуса .

Вариант 10. Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения и деления (в том числе и на действительные числа). Создайте производный класс, в котором определите метод для вычисления комплексного синуса .

Вариант 11. Создайте базовый класс Matrix (матрица) для реализации квадратных матриц предопределенного размера. Определите в этом классе операции сложения, вычитания, произведения матриц, а также умножения и деления матриц на число. Создайте производный класс, в котором реализована процедура вычисления матричной экспоненты , где A – матрица-аргумент, а E – единичная матрица.

Вариант 12. Создайте базовый класс Matrix (матрица) для реализации квадратных матриц предопределенного размера. Определите в этом классе операции сложения, вычитания, произведения матриц, а также умножения и деления матриц на число. Создайте производный класс, в котором реализована процедура вычисления матричного косинуса , где A – матрица-аргумент, а E – единичная матрица.

Вариант 13. Создайте базовый класс Matrix (матрица) для реализации квадратных матриц предопределенного размера. Определите в этом классе операции сложения, вычитания, произведения матриц, а также умножения и деления матриц на число. Создайте производный класс, в котором реализована процедура вычисления матричного синуса , где A – матрица-аргумент.

Вариант 14. Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения и деления. Создайте производный класс для реализации векторов с комплексными компонентами (вектор имеет три компонента, каждый компонент – комплексное число). Компоненты вектора являются элементами массива. Предусмотреть возможность индексирования объектов, сложения и вычитания векторов.

Вариант 15. Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения и деления. Создайте производный класс для реализации векторов с комплексными компонентами (вектор имеет три компонента, каждый компонент – комплексное число). Компоненты вектора являются элементами массива. Предусмотреть возможность вычисления скалярного произведения векторов – результатом является комплексное число, равное сумме произведений соответствующих компонентов векторов.

Вариант 16. Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения и вычисления комплексного спряженного числа. Создайте производный класс для реализации векторов с комплексными компонентами (вектор имеет три компонента, каждый компонент – комплексное число). Компоненты вектора являются элементами массива. Предусмотреть возможность вычисления скалярного произведения векторов, а также вычисления модуля вектора (произведение вектора на комплексно спряженный вектор).

Вариант 17. Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения и деления. Создайте производный класс для реализации векторов с комплексными компонентами (вектор имеет три компонента, каждый компонент – комплексное число). Компоненты вектора являются элементами массива. Предусмотреть возможность вычисления векторного произведения векторов – результатом является комплексный вектор.

Вариант 18. Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения и деления. Создайте производный класс для реализации квадратных матриц с комплексными элементами. Элементы матрицы заносятся в двумерный массив. Предусмотреть возможность индексирования объектов, сложения и вычитания матриц.

Вариант 19. Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения и деления. Создайте производный класс для реализации квадратных матриц с комплексными элементами. Элементы матрицы заносятся в двумерный массив. Предусмотреть возможность индексирования объектов и умножения матриц.

Вариант 20. Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения. Создайте производный класс для реализации квадратных матриц с комплексными элементами. Элементы матрицы заносятся в двумерный массив. Предусмотреть возможность умножения матриц, а также вычисления матричной комплексной экспоненты , где A – комплексная матрица-аргумент, а E – единичная матрица.

Вариант 21. Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения. Создайте производный класс для реализации квадратных матриц с комплексными элементами. Элементы матрицы заносятся в двумерный массив. Предусмотреть возможность умножения матриц, а также вычисления матричного комплексного косинуса , где A – комплексная матрица-аргумент, а E – единичная матрица.

Вариант 22. Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения. Создайте производный класс для реализации квадратных матриц с комплексными элементами. Элементы матрицы заносятся в двумерный массив. Предусмотреть возможность умножения матриц, а также вычисления матричного комплексного синуса , где A – комплексная матрица-аргумент.

Вариант 23. Создайте базовый класс для реализации полиномиальных выражений степени, не выше n (внешняя константа). Определить операции сложения, вычитания полиномов, а также умножения и деления полиномов на число. Создайте производный класс, в котором реализуйте выражения вида , где а – поле класса. Предусмотреть возможность вычисления производной от такого выражения – производная равна , где .

Вариант 24. Создайте базовый класс для реализации полиномиальных выражений степени, не выше n (внешняя константа). Определить операции сложения, вычитания полиномов, а также умножения и деления полиномов на число. Создайте производный класс, в котором реализуйте выражения вида , где а и b – поля класса. Предусмотреть возможность вычисления производной от такого выражения – производная равна , где .

Вариант 25. Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения и деления. Создайте производный класс для работы с комплексными полиномиальными выражениями степени не выше, чем n. Выражение имеет вид , где z – комплексное число, а - действительные числа (элементы массива производного класса.). Предусмотреть возможность сложения и вычитания таких полиномов.



<== предыдущая лекция | следующая лекция ==>
Подготовка и проведение измерений | Подбор состава тяжелого бетона
Поделиться с друзьями:


Дата добавления: 2016-09-03; Мы поможем в написании ваших работ!; просмотров: 880 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Свобода ничего не стоит, если она не включает в себя свободу ошибаться. © Махатма Ганди
==> читать все изречения...

2338 - | 2092 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.