Цель: Разработка простейших классов на примере разработки моделей элементарных объектов
Постановка задачи
Разработать класс, набор методов (конструктор, конструктор копирования, деструктор, минимум два метода и метод toString) для программной модели заданного объекта.
Реализовать перегрузку не менее двух операторов (например = и +) в зависимости от объекта. Описание объекта и его основных свойств приводится ниже.
Разработать вызывающую программу (main), использующей объекты разработанного класса и тестирующие работоспособность всех методов и перегруженных операторов.
Варианты заданий
Объект «комплексные числа». Операции определяются по обще принятым формулам. Предусмотреть возможность операции присваивания, сложения, умножения и перевода в текстовую строку текущих значений. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «комплексные числа». Операции определяются по обще принятым формулам. Предусмотреть возможность операции присваивания, вычитания, умножения и перевода в текстовую строку текущих значений. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «комплексные числа». Операции определяются по обще принятым формулам. Предусмотреть возможность операции присваивания, сложения, деления и перевода в текстовую строку текущих значений. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект
«комплексные числа». Операции определяются по обще принятым формулам.
Предусмотреть возможность операции присваивания, сложения, умножения и
перевода в показательную (
)
форму с возможностью распечатки на консоль. Конструктор должен позволить
создавать объекты без и с начальной инициализацией.
Объект «вектор на плоскости» заданный в системе декартовых координат. Начало вектора расположено в начале координат. Операции определяются согласно обще принятых формул линейной (векторной) алгебры. Предусмотреть возможность операции присваивания, сложения, скалярного умножения и распечатки координат текущих значений. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «вектор на плоскости» заданный в системе декартовых координат. Начало вектора расположено в начале координат. Операции определяются согласно обще принятых формул линейной (векторной) алгебры. Предусмотреть возможность операции присваивания, вычитания, скалярного умножения и распечатки координат текущих значений. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «вектор на плоскости» заданный в системе декартовых координат. Начало вектора расположено в начале координат. Операции определяются согласно обще принятых формул линейной (векторной) алгебры. Предусмотреть возможность операции присваивания, сравнения модулей, скалярного умножения и распечатки координат текущих значений. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «вектор на плоскости» заданный в системе декартовых координат. Начало вектора расположено в начале координат. Операции определяются согласно обще принятых формул линейной (векторной) алгебры. Предусмотреть возможность операции присваивания, нахождения угла между векторами, скалярного умножения и распечатки координат текущих значений. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «равнобедренный треугольник заданный длинами сторон». Предусмотреть возможность операции присваивания, определения площади и периметра, а так же логический метод, определяющий существует или такой треугольник. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «равносторонний треугольник заданный длинами сторон». Предусмотреть возможность операции присваивания, определения площади и периметра, а так же логический метод, определяющий существует или такой треугольник. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «прямоугольный треугольник заданный длинами сторон». Предусмотреть возможность операции присваивания, определения площади и периметра, а так же логический метод, определяющий существует или такой треугольник. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «равнобедренный треугольник заданный длиной равнобедренной стороной и углом между ними». Предусмотреть возможность операции присваивания, определения площади и периметра, а так же логический метод, отвечающий на вопрос – остро или тупо угольным является заданный треугольник. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «треугольник заданный длиной двух стороной и углом между ними». Предусмотреть возможность операции присваивания, определения площади и периметра, а так же логический метод, отвечающий на вопрос – остро или тупо угольным является заданный треугольник. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «прямоугольник заданный длинами двух сторон». Предусмотреть возможность операции присваивания, определения площади и периметра, а так же логический метод, отвечающий на вопрос – является ли прямоугольник квадратом. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «множество целых чисел заданной мощности». Предусмотреть возможность операции присваивания, объединения двух множеств, вывода на печать элементов множества, а так же метод отвечающий на вопрос – принадлежит ли указанное значение множеству. Конструктор должен позволить создавать объекты без и с начальной инициализацией. Мощность множества задается при создании объекта.
Объект «множество вещественных чисел заданной мощности». Предусмотреть возможность операции присваивания, объединения двух множеств, вывода на печать элементов множества, а так же метод отвечающий на вопрос – принадлежит ли указанное значение множеству. Конструктор должен позволить создавать объекты без и с начальной инициализацией. Мощность множества задается при создании объекта.
Объект «множество символов заданной мощности». Предусмотреть возможность операции присваивания, объединения двух множеств, вывода на печать элементов множества, а так же метод отвечающий на вопрос – принадлежит ли указанное значение множеству. Конструктор должен позволить создавать объекты без и с начальной инициализацией. Мощность множества задается при создании объекта.
Объект «множество целых чисел удвоенной длины заданной мощности». Предусмотреть возможность операции присваивания, объединения двух множеств, вывода на печать элементов множества, а так же метод отвечающий на вопрос – принадлежит ли указанное значение множеству. Конструктор должен позволить создавать объекты без и с начальной инициализацией. Мощность множества задается при создании объекта.
Объект «множество вещественных чисел удвоенной точности заданной мощности». Предусмотреть возможность операции присваивания, объединения двух множеств, вывода на печать элементов множества, а так же метод отвечающий на вопрос – принадлежит ли указанное значение множеству. Конструктор должен позволить создавать объекты без и с начальной инициализацией. Мощность множества задается при создании объекта.
Объект «множество байт заданной мощности». Предусмотреть возможность операции присваивания, объединения двух множеств, вывода на печать элементов множества, а так же метод отвечающий на вопрос – принадлежит ли указанное значение множеству. Конструктор должен позволить создавать объекты без и с начальной инициализацией. Мощность множества задается при создании объекта.
Объект «множество целых чисел не заданной (переменной) мощности». Предусмотреть возможность операции добавить элемент к множеству, определение количество элементов в множестве, вывода на печать всех элементов множества, а так же метод удаляющий указанный элемент из множества, если этот элемент принадлежит множеству. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «множество вещественных чисел не заданной (переменной) мощности». Предусмотреть возможность операции добавить элемент к множеству, определение количество элементов в множестве, вывода на печать всех элементов множества, а так же метод удаляющий указанный элемент из множества, если этот элемент принадлежит множеству. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «множество символов не заданной (переменной) мощности». Предусмотреть возможность операции добавить элемент к множеству, определение количество элементов в множестве, вывода на печать всех элементов множества, а так же метод удаляющий указанный элемент из множества, если этот элемент принадлежит множеству. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «множество целых чисел удвоенной длины не заданной (переменной) мощности». Предусмотреть возможность операции добавить элемент к множеству, определение количество элементов в множестве, вывода на печать всех элементов множества, а так же метод удаляющий указанный элемент из множества, если этот элемент принадлежит множеству. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Объект «прямоугольник заданный длинами двух сторон». Предусмотреть возможность операции присваивания, определения площади и периметра, а так же логический метод, отвечающий на вопрос – содержится ли, указанный параметрами метода прямоугольник , внутри прямоугольника. Конструктор должен позволить создавать объекты без и с начальной инициализацией
Примеры подобных учебных реализаций можно посмотреть по следующим ссылкам