Назад Вперед Содержание

Варианты задач

В каждом варианте создать родительский и дочерний классы.

  • Виртуальные методы в родительском классе переопределить в дочернем классе.
  • В виртуальном и в переопределяемом методе должны быть комментарии, которые идентифицирует метод.

    В методе Main:

    Вариант 1

    Создать класс Pryam, описывающий прямоугольник по двум сторонам и содержащий:

    Создать дочерний класс Kvadrat, описывающий квадрат и содержащий:

    Отработка:

    Вариант 2

    Создать класс Ellips, описывающий эллипс и содержащий:

    Создать дочерний класс Krug описывающий круг и содержащий:

    Отработка:

    Вариант 3

    Создать класс Parall, описывающий параллелепипеды и содержащий:

    Создать дочерний класс Kub описывающий куб содержащий:

    Отработка:

    Вариант 4

    Создать класс Romb, описывающий ромбы по его диагоналям и содержащий:

    Создать дочерний класс Kvadrat, описывающий квадрат и содержащий:

    Отработка:

    Вариант 5

    Создать класс Par, описывающий параллелограмм по двум сторонам и углу, и содержащий:

    Создать дочерний класс Romb, описывающий ромб и содержащий:

    Отработка:

    Вариант 6

    Создать класс Cylinder, описывающий цилиндры и содержащий:

    Создать дочерний класс Equilateral, описывающий равносторонний цилиндр (диаметр основания равен высоте) и содержащий:

    Отработка:

    Вариант 7

    Создать класс Employee, описывающий сотрудника фирмы и содержащий:

    Создать класс Vip, дочерний к Employee, описывающий Vip менеджера и содержащий:

    Отработка:

    Вариант 8

    Создать класс Triangle, описывающий треугольник по трем его сторонам и содержащий:

    Создать дочерний класс Equilateral, описывающий равносторонний треугольник и содержащий:

    Отработка:

    Вариант 9

    Создать класс PointSpace, описывающий точку в пространстве и содержащий:

    Создать дочерний класс PointPlane, описывающий точки на плоскости и содержащий:

    Отработка:

    Вариант 10

    Создать класс Triangle, описывающий треугольник по двум сторонам и углу между ними, и содержащий:

    Создать дочерний класс Rectangular, описывающий прямоугольный треугольник и содержащий:

    Отработка:

    Вариант 11

    Создать класс Tax, описывающий налогоплательщика и содержащий:

    Создать класс Privilege, дочерний к Tax, описывающий льготника и содержащий:

    Отработка:

    Вариант 12

    Создать класс Par, описывающий параллелограмм и содержащий:

    Создать дочерний класс Pryam описывающий прямоугольник, содержащий:

    Отработка:

    Вариант 13

    Создать класс Lodger, описывающий рядовых плательщиков за квартиру и содержащий:

    Создать дочерний класс PrivilegeMan, описывающий плательщиков за квартиру, которые получают субсидию и содержащий:

    Отработка:

    Вариант 14

    Создать класс Avto , описывающий автомобиль и содержащий:

    Создать класс Vip, дочерний к Avto, описывающий вип автомобиль и содержащий:

  • Поле стоимость тюнинга;
  • Конструктор с тремя параметрами: марка, скорость и стоимость тюнинга.
  • Переопределить метод Cost, который возвращает число, равное скорость * 200+стоимость тюнинга.
  • Переопределить метод Update, который увеличивает скорость на 20 км/ч и тюнинг на 1000.
  • Переопределить метод Info, который возвращает строку, содержащую информацию об объекте: Марка, Скорость, Стоимость автомобиля и Стоимость тюнинга.

    Создать класс Truck, дочерний к Avto, описывающий грузовик и содержащий:

  • Поле грузоподъемность;
  • Конструктор с тремя параметрами: марка, скорость и грузоподъемность.
  • Переопределить метод Cost, который возвращает число, равное скорость * 150 + грузоподъемность * 20.
  • Переопределить метод Update, который увеличивает скорость на 15 км/ч и грузоподъемность на 1 тонну.
  • Переопределить метод Info, который возвращает строку, содержащую информацию об объекте: Марка, Скорость, Стоимость и грузоподъёмность

    В главной программе:

    Случайным образом в цикле создавать автомобили разных классов со случайной скоростью, для грузовика с грузоподъемностью, для випа стоимостью тюнинга. Применять к ним методы Cost, Update и Info.

    Отработка 1:

    Отработка 2:

    Вариант 15

    Создать класс Employee , описывающий служащего и содержащий:

    Создать класс Hourly, дочерний к Employee , описывающий служащего с почасовой оплатой и содержащий:

  • Поле количество отработанных часов;
  • Поле стоимость одного часа.
  • Конструктор с тремя параметрами: фамилия, стоимость одного часа и количество отработанных часов.
  • Переопределить метод CalculatePay, который вычисляет и возвращает зарплату= (стоимость одного часа) * (количество отработанных часов)
  • Переопределить метод CalculateBonus, который вычисляет и возвращает премию=200.

    Создать класс Commissioned, дочерний к Employee , описывающий служащего с комиссионной оплатой и содержащий:

  • Поле количество проданных товаров;
  • Поле плата за продажу единицы товара.
  • Конструктор с тремя параметрами: фамилия, ставка, плата за продажу единицы товара и количество проданных товаров.
  • Переопределить метод CalculatePay, который вычисляет и возвращает зарплату= ставка+(плата за продажу единицы товара) * (количество проданных товаров)
  • Переопределить метод CalculateBonus, который вычисляет и возвращает премию=100*( количество проданных товаров).

    В главной программе:

    Случайным образом в цикле создавать сотрудников разных классов со случайными значениями: ставка (1000, 2000), стоимость 1 часа (100,300), количество отработанных часов (6, 12), количество проданных товаров (10, 30), оплата за единицу товара (100, 200) . Применять к ним методы CalculatePay, CalculateBonus и Info.

    Отработка 1:

    Отработка 2:

    Назад Вперед Содержание