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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nchameleon
2 / 2 / 1
Регистрация: 06.04.2010
Сообщений: 161
#1

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

09.02.2011, 17:37. Просмотров 799. Ответов 5
Метки нет (Все метки)

Написал собственный класс, где хранит одномерный массив

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[] в классе
Посмотрите здесь:

C++ operator++
C++ operator
operator< C++
C++ operator=
C++ operator[]
Operator>> C++
operator() C++
C++ Operator int() в классе Строка
C++ Operator*=();
Перегрузка оператора operator+() в пользовательском классе (сложение строк) C++
C++ Operator*
C++ Вызов operator[] через operator[] const

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1600 / 1228 / 121
Регистрация: 21.12.2010
Сообщений: 1,875
Записей в блоге: 7
09.02.2011, 18:02     operator[] в классе #2
C++
1
int k = (*asd)[s];
lemegeton
 Аватар для lemegeton
2915 / 1344 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
09.02.2011, 18:04     operator[] в классе #3
Так, что-ли?
C++
1
int k = (*asd)[s];
igorrr37
 Аватар для igorrr37
1600 / 1228 / 121
Регистрация: 21.12.2010
Сообщений: 1,875
Записей в блоге: 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[] в классе
Ответ Создать тему
Опции темы

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