есть ли у кого-нибудь ООП 3_1_5?
Вот условие
Постановка задачи
Дан объект следующей конструкции:
В закрытом доступе имеется массив целого типа и поле его длины. Количество элементов массива четное и больше двух. Объект имеет функциональность:
конструктор по умолчанию, вначале работы выдает сообщение;
параметризированный конструктор, передается целочисленный параметр. Параметр должен иметь значение больше 2 и быть четным. Вначале работы выдает сообщение;
конструктор копии, обеспечивает создание копии объекта в новой области памяти. Вначале работы выдает сообщение;
метод деструктор, который в начале работы выдает сообщение;
метод который создает целочисленный массив в закрытой области, согласно ранее заданной размерности.
метод ввода значений элементов созданного массива;
метод 1, который суммирует значения очередной пары элементов и сумму присваивает первому элементу пары. Например, пусть массив состоит из элементов {1,2,3,4}. В результате суммирования пар получим массив {3,2,7,4};
метод 2, который умножает значения очередной пары элементов и результат присваивает первому элементу пары. Например, пусть массив состоит из элементов {1,2,3,4}. В результате умножения пар получим массив {2,2,12,4};
метод, который суммирует значения элементов массива и возвращает это значение;
метод последовательного вывода содержимого элементов массива, которые разделены двумя пробелами;
метод, который возвращает значение указателя на массив из закрытой области;
метод, который присваивает значение указателя массива из закрытой области.
Назовём класс описания данного объекта cl_obj (для примера, у вас он может называться иначе).
Разработать функцию func, которая имеет один целочисленный параметр, содержащий размерность массива. В функции должен быть реализован алгоритм:
Инициализация указателя на объект класса cl_obj адресом объекта, созданного с использованием параметризированного конструктора.
С использованием указателя на объект класса cl_obj вызов метода создания массива.
С использованием указателя на объект класса cl_obj вызов метода ввода значений элементов массива.
С использованием указателя на объект класса cl_obj вызов метода 2.
Возврат указателя на объект класса cl_obj.
В основной функции реализовать алгоритм:
Ввод размерности массива.
Если размерность массива некорректная, вывод сообщения и завершить работу алгоритма.
Вывод значения размерности массива.
Объявить первый указатель на объект класса cl_obj.
Присвоение первому указателю результата работы функции func с аргументом, содержащим значение размерности массива.
С использованием первого указателя вызов метода 1.
Инициализация второго указателя на объект класса cl_obj адресом объекта, созданного с использованием конструктора копии с аргументом первого объекта.
С использованием второго указателя вызов метода 2.
Вывод содержимого массива первого объекта.
Вывод суммы элементов массива первого объекта.
Вывод содержимого массива второго объекта.
Вывод суммы элементов массива второго объекта.
Второму объекту присвоить первый объект.
С использованием первого указателя вызов метода 1.
Вывод содержимого массива второго объекта.
Вывод суммы элементов массива второго объекта.
Удалит первый объект.
Удалить второй объект.
Добавить в этот алгоритм пункты, которые обеспечат корректное завершение работы программы.
При решении задачи необходимо руководствоваться методическим пособием и приложением к методическому пособию
Входные данные
Первая строка:
1
«Целое число»
Вторая строка:
1
«Целое число» «Целое число» . . .
Пример:
1
2
4
3 5 1 2
Выходные данные
Если введенная размерность массива допустима, то в первой строке выводится это значение:
1
«Целое число»
Если введенная размерность массива не больше двух или нечетная, то в первой строке выводится некорректное значение и вопросительный знак:
1
«Целое число»?
Конструктор по умолчанию в начале работы с новой строки выдает сообщение:
1
Default constructor
Параметризированный конструктор в начале работы с новой строки выдает сообщение:
1
Constructor set
Конструктор копии в начале работы с новой строки выдает сообщение:
1
Copy constructor
Деструктор в начале работы с новой строки выдает сообщение:
1
Destructor
Метод последовательного вывода содержимого элементов массива, с новой строки выдает:
1
«Целое число» «Целое число» «Целое число» . . .
Пример вывода:
1
2
3
4
5
6
7
8
9
10
11
4
Constructor set
Copy constructor
20 5 4 2
31
100 5 8 2
115
100 5 8 2
115
Destructor
Destructor