Форум программистов, компьютерный форум CyberForum.ru

Перегрузка оператора индексации - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Решебник М.Э.Абрамян http://www.cyberforum.ru/cpp-beginners/thread576451.html
Доброго времени суток! Пишу решебник к задачнику М.Э.Абромян и столкнулся со следующими проблемами: Беда #1: Как осуществить поиск решения по его фрагменту? Решения в виде массивов строк. т.е. есть набор решений array_cpp = "тут решение задания Array1"; array_cpp = "тут решение задания Array2"; **** и т.д. **** case_cpp = "тут решение задания Case1"; case_cpp = "тут решение задания...
C++ Функция выбора режима Здравствуйте! Нужна простейшая функция, для выбора режима последующей работы программы. Тонкость в том, что она должна игнорировать какие-либо иные символы. Вот моя функция: char getting_mode(void) {char md; while ((md!='f')&&(md!='i')) {cout<<"Choose the sourse of values\n"; cout<<"From file(f) or input from keyboard(i)\n"; cin>>md; http://www.cyberforum.ru/cpp-beginners/thread576442.html
Однослойный персетрон C++
Народ,очень срочно нужна помощь! мне нужно обучить персептрон с учителем на С++,может кто сталкивался? прогуглила и прочитала уже много всего, но что-то с кодом не догоняю
Навигация в двунаправленном списке. C++
Здравствуйте! Проблема такая. Не могу придумать как можно реализовать навигацию в двунаправленном списке таким образом например: нажимаешь 1 - отображает текущий элемент(выбранный), нажимаешь 2 - переходит на следующий элемент по указателю и его отображает, нажимаешь 0 - переходит на предыдущий элемент по указателю и отображает его. чтобы можно было как бы пролистывать список, тем самым...
C++ Преобразовать из char* в BSTR http://www.cyberforum.ru/cpp-beginners/thread576418.html
BSTR source = L"C:\\test.txt\0\0"; BSTR dest = L"C:\\test.zip\\\0\0"; В исходники преобразуется с помощью этого волшебного cимвола L Подскажите как можно решить проблему char *a="C:\\test.txt\0\0"; BSTR source = a;
C++ Записи: Вывести списки студентов, упорядоченные по возрасту Описать и вывести массив, содержащий 10 записей следующей структуры: фамилия, возраст, № студенческого билета, средняя оценка за последнюю сессию Вывести массив в табличном виде. Вывести списки упорядоченные по возрасту. выдает ошибку Помогите найти ошибку в коде пожалуйста #include<stdio.h> #include<conio.h> #include<string.h> struct student { подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
16.05.2012, 15:18     Перегрузка оператора индексации
Avazart, Нет.
Но есть обходные возможности.
1) Возвращать указатель.
2) Реализовать прокси-класс в котором хранить данные, перегрузить в нем оператор [], хранить в вашем классе массив таких объектов, при вызове возвращать объект.

Добавлено через 5 минут
Пример.

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
#include <iostream>
#include <vector>
 
class Vector
{
public:
   Vector(const std::vector<int>& v):vec(v)
   {
   }
   int& operator [](const int idx) { return vec[idx]; }
private:
   std::vector<int> vec;
};
 
class Matrix
{
public:
   Matrix(const std::vector<Vector>& m):matr(m)
   {
   }
   Vector& operator [](const int idx) { return matr[idx]; }
private:
   std::vector<Vector> matr;
};
 
int main()
{
   std::vector<Vector> vec = std::vector<Vector>
   {
      Vector({1,2,3,4,5}),
      Vector({6,7,8,9})
   };
   Matrix matr(vec);
   std::cout << matr[0][0] << std::endl;
}
 
Текущее время: 20:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru