Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- class ArrayHelperBase //базовый класс
- {
- protected: //protected вместо private для того, чтобы можно было получить доступ наследнику
- float *arr; //массив
- int count; //размер массива
- public:
- ArrayHelperBase() { }
- ~ArrayHelperBase() { }
- ArrayHelperBase(int _count) { //конструктор класса
- count = _count; //инициализируем переменную, в котроой размер массива
- arr = new float[_count]; //указываем размер массива
- }
- virtual void checkValue(float min) { //функция может быть переопределена в наследнике
- std::cout << "Base class\n";
- };
- virtual void arrayFill() { //функция может быть переопределена в наследнике
- std::cout << "Info from arrayFill from Base class\n\n";
- };
- };
- class ArrayHelper : public ArrayHelperBase //инициализация класса-наследника
- {
- public:
- ArrayHelper(int count) : ArrayHelperBase(count) {} //переопределение конструктора базового класса
- void arrayFill() {
- for (int i = 0; i < count; i++) //Заполняем массив значениями
- {
- std::cin >> arr[i]; //считываем значения в массив
- }
- std::cout << "complete\n";
- }
- void checkValue(float min) //принимаем на вход сравниваемое значение, используется для сравнения далее
- {
- bool flag = 0;
- if (count == 15) { //если массив A(15)
- for (int i = 0; i < count; i++) { //цикл по элементам массива A
- if (arr[i] < min) {//если массив A(15) содержит значение меньше 0
- std::cout << "array A contains negative values\n";
- flag = 1; //флаг, показывающий, что нужные значения присутствуют
- break; //прервать цикл, условие выполнено
- }
- }
- }
- else if (count == 10) { //если массив B(10)
- for (int i = 0; i < count; i++) { //цикл по элементам массива B
- if (arr[i] < min) {//если массив B(10) содержит значение меньше 2.7
- std::cout << "array B contains values lower 2.7\n";
- flag = 1; //флаг, показывающий, что нужные значения присутствуют
- break; //прервать цикл, условие выполнено
- }
- }
- }
- else
- std::cout << "incorrect data\n"; // если проверяется массив не из условий задания
- if (flag == 0)
- std::cout << "array not contains values of task\n"; // в случае, если в массиве нет подходящих значений
- }
- };
- int main()
- {
- std::cout << "Begin!\n\n";
- ArrayHelper A(15), B(10);//инициализация массива A и B
- std::cout << "Enter values in Array A:\n";
- A.arrayFill();
- std::cout << "Enter values in Array B:\n";
- B.arrayFill();
- std::cout << "Check values of array A:\n"; //Вывод текста на экран, далее - вызов функции проверки на отрицательные значения
- A.checkValue(0);
- std::cout << "Check values of array B:\n"; //Вывод текста на экран, далее - вызов функции проверки на отрицательные значения
- B.checkValue(2.7);
- std::cout << "\n";
- ArrayHelperBase C(15);
- C.arrayFill(); //пример использования функции из основного класса, которая выводит текст
- std::cout << "End!\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement