Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 28.09.2014
Сообщений: 20
1

Ошибка в функции производного класса

31.03.2015, 21:42. Показов 458. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! У меня такая проблема: не работает функция поп-фронт в производном классе. Не могу понять почему. Если я пробую создать ее в родительском классе, то все нормально работает) Помогите пожалуйста)
Ошибка на 93 строке
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include <iostream>
#include <string>
using namespace std;
template <class T>
class MyQueue{
private:
    T *MQptr;
    bool isEmpty = true;
public:
    int ind = -1;
    MyQueue(){
        MQptr = new T[100];
    }
    ~MyQueue(){
        delete[] MQptr;
    }
    
    void push_back(T);
    void pop_front();
    void show();
};
template <class T>
class MyDeque : public MyQueue<T>{
private:
    T *MQptr;
    bool isEmpty = true;
public:
    MyDeque() : MyQueue(){}
    void push_front(T value){
        ind++;
        for (int i = ind; 1 <= i; i--){
            MQptr[i] = MQptr[i - 1];
        }
        MQptr[0] = value;
    }
    
};
 
void Strings(){
    cout << "Vector witn strings\n";
    cout << "Enter string: \n";
    MyQueue <string> a;
    for (int i = 0; i < 3; i++){
        string value;
        cin >> value;
        a.push_back(value);
    }
    cout << endl;
    a.show();
    a.pop_front();
    string value;
    cout << "Push back function\n";
    cout << "Enter string:\n";
    cin >> value;
    a.push_back(value);
    a.show();
    MyDeque <string> l;
    for (int i = 0; i < 3; i++){
        string value;
        cin >> value;
        l.push_back(value);
    }
    cout << endl;
    l.show();
    l.pop_front();
    string value1;
    cout << "Push front function\n";
    cout << "Enter string:\n";
    cin >> value1;
    l.push_front(value1);
    l.show();
}
int main(){
    Strings();
    return 0;
}
 
template <typename T>
void MyQueue<T> ::push_back(T value){
    ind++;
    MQptr[ind] = value;
    isEmpty = false;
}
 
template <typename T>
void MyQueue<T> ::pop_front(){
    if (ind == -1){
        isEmpty = true;
    }
    if (!isEmpty){
        cout << "Pop front function\n";
        for (int i = 0; i < ind; i++){
            MQptr[i] = MQptr[i + 1];
        }
        ind--;
        show();
        cout << endl;
    }
    else
        cout << "vector is empty!" << endl;
 
}
template <typename T>
void MyQueue<T> ::show(){
    cout << "There are elements in the vector:\n";
    for (int i = 0; i <= ind; i++){
        cout << MQptr[i] << "    ";
    }
    cout << "\n\n";
}
Добавлено через 7 минут
Ошибочка, она на 32 строке
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.03.2015, 21:42
Ответы с готовыми решениями:

Как узнать тип производного класса в функции базового
Всем привет! Есть иерархия классов: class1 -&gt; class2-&gt;class3 class2-&gt;class4 ...

Ошибка при выполнении оператора присваивания производного класса через указатель на базовый
Здравствуйте, не могу понять из-за чего ошибка. Надо в производном классе объявить оператор...

Ошибка "идентификатор не определен" при создании производного класса
всем доброго времени суток. пытаюсь создать производный класс для machine, в котором нужно вывести...

Как сложить объект базового класса с объектом производного(наследуемого класса)
Как умножить объект базового класса с объектом производного(наследуемого класса): ozenka - объект...

2
Модератор
Эксперт С++
 Аватар для zss
13727 / 10923 / 6480
Регистрация: 18.12.2011
Сообщений: 29,157
31.03.2015, 21:53 2
1. Зачем в производном классе еще один экземпляр isEmpty и MQptr?
Объявите их в базовом классе с типом доступа protected (Вместо private),
а в поизводном удалите.
1
0 / 0 / 0
Регистрация: 28.09.2014
Сообщений: 20
01.04.2015, 08:09  [ТС] 3
zss, я ошибся(
Спасибо большое, замешкался)
0
01.04.2015, 08:09
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.04.2015, 08:09
Помогаю со студенческими работами здесь

Вызов метода производного класса через обращение к методу базового класса
Добрый день. Изучаю основы ООП, наткнулся на проблему. Если создавать классы внутри main.cpp,...

Почему объект производного класса не видит префиксный оператор из базового класса?
Короче создал я базовый класс с перегруженным префиксным оператором ++. Потом чтоб его...

Возможно ли указатель производного класса инициализировать объектом базового класса?
имеется связка наследуемых классов A-&gt;B а от B наследуются одновременно еще два класса B-&gt;C и B-&gt;D...

Вызвать конструктор производного класса без конструктора базового класса
Здравствуйте! У меня есть базовый класс треугольник и производный класс равносторонний...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как проверить, что файл НЕ существует с помощью Bash
bytestream 25.01.2025
В системном администрировании проверка существования файлов является фундаментальной операцией, особенно при написании скриптов на Bash. Правильная обработка ситуаций, когда файл отсутствует,. . .
Как проверить, что строка пустая, неопределена или null в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript разработчики регулярно сталкиваются с необходимостью проверки строковых значений на различные состояния. Валидация данных является критически важным. . .
Как проверить существование ключа в объекте или массиве в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript программисты постоянно сталкиваются с необходимостью работать с объектами и массивами. Эти структуры данных являются фундаментальными элементами языка и. . .
Как создать ArrayList из массива (array) в Java
bytestream 25.01.2025
При разработке программного обеспечения на языке Java программисты часто сталкиваются с необходимостью эффективного управления наборами данных. Массивы и ArrayList являются двумя фундаментальными. . .
Как сгенерировать случайные целые числа (int) в указанном диапазоне в Java
bytestream 25.01.2025
В программировании генерация случайных чисел является важнейшим инструментом для решения множества практических задач. От создания игровых механик до реализации алгоритмов машинного обучения, от. . .
Как сделать, чтобы grep выводил строки до и после найденной
hw_wired 25.01.2025
Утилита grep стала незаменимым инструментом для поиска и фильтрации информации в Unix-подобных операционных системах. Эта командная утилита позволяет осуществлять поиск строк, соответствующих. . .
Как клонировать определенную ветку в Git
bytestream 24.01.2025
Одной из ключевых функций Git является возможность клонирования веток, что позволяет создавать локальные копии удаленных репозиториев и работать с определенными версиями проекта. Этот механизм. . .
Как в цикле обойти строки DataFrame в Pandas Python
bytestream 24.01.2025
DataFrame представляет собой одну из основных структур данных в библиотеке Python Pandas, которая организует информацию в виде двумерной таблицы с строками и столбцами. Эта структура данных особенно. . .
Как получить имя текущей ветки в Git
bytestream 24.01.2025
При работе с Git часто возникает необходимость определить имя текущей ветки, в которой ведется разработка. Знание текущей ветки является критически важным аспектом для эффективного управления. . .
Как отсортировать массив объектов по значению поля объекта в JavaScript
bytestream 24.01.2025
При разработке веб-приложений на JavaScript разработчики часто сталкиваются с необходимостью работать с массивами объектов. Эти структуры данных представляют собой упорядоченные наборы элементов, где. . .
Ошибка "src refspec master does not match any" при пуше коммита в Git
bytestream 24.01.2025
При работе с системой контроля версий Git разработчики нередко сталкиваются с различными ошибками, одной из которых является сообщение "src refspec master does not match any". Эта ошибка возникает. . .
Как округлить не более двух цифр после запятой в JavaScript
bytestream 24.01.2025
При работе с числами в JavaScript разработчики часто сталкиваются с необходимостью округления десятичных значений до определенного количества знаков после запятой. Это особенно важно при работе с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru