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

operator[] в классе - C++

Восстановить пароль Регистрация
 
nchameleon
2 / 2 / 1
Регистрация: 06.04.2010
Сообщений: 161
09.02.2011, 17:37     operator[] в классе #1
Написал собственный класс, где хранит одномерный массив

C++
1
2
3
4
5
6
7
8
template <class TTT>
public class List_TTT
{
public:
    TTT * data;
    int len;
    TTT& Get(int H) {return data[H];} // 
    TTT& operator[](int H) { return data[H]; }
но вот в коде не получается использовать индекс из-за того, что я размешаю его в куче
C++
1
2
List_TTT<int> * asd = new List_TTT<int>();
int k = asd[s];
// операция [] воспринимается как ссылка на класс индекса s, а я хочу возвращать значение в классе

чтобы вы могли бы порекомендовать в этом случае, кроме использование стандартных функции
и второй вопрос есть ли такой оператор TTT& operator()(int H) { return data[H]; }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2011, 17:37     operator[] в классе
Посмотрите здесь:

У меня класс B в классе A, а в классе B рекурсивная функция переопределения оператора "()", как её вызвать, не создавая явно объект класса B? C++
C++ Известны оценки по физике каждого ученика двух классов.Определить средниюю оценку в каждом классе.Количество учащихся в каждом классе одинаковое!
Как обьявить переменную в одном классе и что бы ее было видно в дочернем классе C++
operator char() или operator int() C++
C++ Expected init-declarator before "operator".expected `,' or `;' before "operator"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
09.02.2011, 18:02     operator[] в классе #2
C++
1
int k = (*asd)[s];
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
09.02.2011, 18:04     operator[] в классе #3
Так, что-ли?
C++
1
int k = (*asd)[s];
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
09.02.2011, 18:06     operator[] в классе #4
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
#include <iostream>
using namespace std;
 
template <class TTT>
class List_TTT{
    public:
        TTT * data;
        int len;
        List_TTT(int a):len(a){
            data=new TTT[len];
        }
 
        TTT& Get(int H) {return data[H];} //
        TTT& operator[](int H) { return data[H]; }
        TTT& operator()(int H) { return data[H]; }
};
 
int main(){
    List_TTT<int> *asd = new List_TTT<int>(5);
    (*asd)(0)=5;
    int k = (*asd)(0);
    cout<<k;
    (*asd)[0]=7;
    k = (*asd)[0];
    cout<<k;
}
nchameleon
2 / 2 / 1
Регистрация: 06.04.2010
Сообщений: 161
10.02.2011, 13:46  [ТС]     operator[] в классе #5
как-то не подумал))) про
C++
1
 (*asd)[i]
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
10.02.2011, 14:31     operator[] в классе #6
можно
C++
1
asd->operator[](i);
Yandex
Объявления
10.02.2011, 14:31     operator[] в классе
Ответ Создать тему
Опции темы

Текущее время: 11:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru