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

Реализовать перегрузку оператора индексации

22.12.2014, 15:13. Показов 618. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Очень нужна помощь, помогите сделать перегрузку оператора индексации.

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
#include <iostream>
#include <string>
#include <clocale>
#include <fstream>
 
using namespace std;
 
class Node
{
 
public:
        Node(int);
        Node(int Data, Node*); // узел содержит данные и указатель на следующий узел
        int GetData() {return ItsData;}
        Node* GetNext() {return Next;}
        void SetNext(Node* pNode){Next=pNode;}
private:
        int x;
        int ItsData;
        Node* Next;
};
Node::Node (int Data,Node* x)
{
    ItsData=Data;
    Next=x;
}
 
class List
{
    
public:
        List();
        void push_front(int);
        void push_back(int);
        void del();
        void Show();
 
        Node* GetHead(){return HeadNode;}
private:
        Node* HeadNode;
 
};
List::List()
{
    HeadNode=0;
}
 
void List::push_front(int Data) // добавление элемента в начало списка
{
    Node* temp;
    temp=HeadNode;
    HeadNode=new Node(Data,temp);
}
 
void List::push_back(int Data)
{
    Node* pNode=HeadNode;
    while (pNode->GetNext())
    {
        pNode=pNode->GetNext();
    }
    pNode->SetNext(new Node(Data, 0));
}
 
void List::del() // удаление первого элемента из списка 
{
    HeadNode = HeadNode->GetNext();
 
}
void List::Show()
{
    Node *temp=HeadNode;
    while (temp!=0)
    {
        cout<<temp->GetData()<<'\t';
        temp=temp->GetNext();
    }
}
 
int main()
{
    List myList;
    myList.push_front(5);
    myList.push_front(10);
    myList.push_front(17);
    myList.push_front(1);
    myList.push_back(4);
 
    Node* pNode=myList.GetHead();
    myList.Show();
 
    cout<<endl<<endl; 
 
    myList.del();
    pNode=myList.GetHead();
    while (pNode!=0)
    {
        cout<<pNode->GetData()<<'\t';
        pNode=pNode->GetNext();
    }
    system ("pause");
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.12.2014, 15:13
Ответы с готовыми решениями:

Реализовать перегрузку оператора ввода в классе-наследнике
вопрос, наверное, глупый. Есть класс, содержащий массив (размер задется пользователем) и наследник (4 элемента). Можно ли вызвать...

Реализовать перегрузку оператора сложения пользовательского класса Ellipse для сложения двух полуосей эллипса
Нужно дополнить прогу конструктором\деструктором и перегруженой операцией, чтоб &quot;+&quot; делал сложение двух полуосей элипса: ...

Организовать перегрузку оператора (=)
Тема: Разработка алгоритмов и программ по реализации перегрузки операторов Задание: Для создания объекта a, разработанного класса –...

1
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
22.12.2014, 15:54
Писал на коленке, не проверял
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public Node* operator [] (int idx) 
{
    Node *current = HeadNode;
 
    int i = 0;
    for (; i <= idx && current; i++) {
        current = current->GetNext();
    }
 
    if (i - 1 != idx) {
        // выход за пределы списка, обработать на свое усмотрение
    }
 
    return current;
}
В коде кстати косяк есть, что будет если я после создания списка сразу вызову push_back()?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.12.2014, 15:54
Помогаю со студенческими работами здесь

Не выводит перегрузку оператора сложения
Помогите пожалуйста исправить ошибку: не выводит перегрузку оператора сложения как сделать чтобы /*Класс &quot;Многочлен одной...

Копирование map через перегрузку оператора
Еще раз приветствую! Подскажите пожалуйста, не могу правильно перегрузить оператор присваивания для копирования содержимого одного класса в...

не получается осуществить перегрузку оператора ввода-вывода
хочу передать перечисление (enum class Colors) в функцию to_string по ссылке, но при этом при возвращении в консоль возникает ошибка...

Как сделать в данной программе перегрузку оператора?
Нужно сделать, чтобы в этой программе была перегрузка оператора (любого). #include &lt;vcl.h&gt; #include &lt;fstream.h&gt; ...

Передача по указателю в дружественную перегрузку оператора класса
имеется такой код, class A { //... public: friend A operator+(const A*, const A*); //ругается //... }; Компилятор ругается...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru