|
|
|
матрица перезагрузка
|
|||
|---|---|---|---|
|
#18+
Есть класс для работы с матрицами. Подскажите пожалуста как для него перегрузить оператор [][] То есть хочется чегото такого: int operator[][](int i,int j); а потом чтобы в самой программе пишеш: int a = Матрица [j]; как перегрузить одну скобку я знаю а две нет. Помогите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 10:25 |
|
||
|
матрица перезагрузка
|
|||
|---|---|---|---|
|
#18+
morf пишет: Есть класс для работы с матрицами. Подскажите пожалуста как для него > перегрузить оператор [][] > То есть хочется чегото такого: > int operator[][](int i,int j); > как перегрузить одну скобку я знаю а две нет. В том то и дело, что никак. оператор [][] не существует в принципе. Варианта тут два. Либо реализуют класс, который агрегирует в себе все индексы матрицы, и operator[] перегружают чтобы он принимал объект такого класса, либо реализуют матрицу так что она является массивом объектов-строк (или столбцов), тогда operator[] матрицы перегружают для возврата строки (столбца), а operator[] строки (столбца) уже в свою очередь перегружают для возврата элемента матрицы. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 10:32 |
|
||
|
матрица перезагрузка
|
|||
|---|---|---|---|
|
#18+
morfЕсть класс для работы с матрицами. Подскажите пожалуста как для него перегрузить оператор [][] То есть хочется чегото такого: int operator[][](int i,int j); а потом чтобы в самой программе пишеш: int a = Матрица [j]; как перегрузить одну скобку я знаю а две нет. Помогите. Сделать это можно так: перегрузить оператор [] так чтобы он возващал указатель на начало нужной строки. В этом случае повторное применение оператора [] даст как раз нужный элемент. Еще лучше сделать класс для строки матрицы и унего перегрузить оператор [] , и чтобы оператор [] матрицы возвращал ссылку на этот объект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 10:38 |
|
||
|
матрица перезагрузка
|
|||
|---|---|---|---|
|
#18+
создать класс - вектор. перегрузить. создать класс - матрицу, используя вектор. перегрузить. класс - матрица должна возвращать вектор. хотя вектор здесь - частный случай матрицы. делай так: operator[](int i) и если n*m и n==1 то пусть выбирает по m. иначе по n. аффтопитезь: объект либо именован, либо не существует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 11:26 |
|
||
|
матрица перезагрузка
|
|||
|---|---|---|---|
|
#18+
Aklinсоздать класс - вектор. перегрузить. создать класс - матрицу, используя вектор. перегрузить. класс - матрица должна возвращать вектор. c этим полностью согласен Aklin хотя вектор здесь - частный случай матрицы. делай так: operator[](int i) и если n*m и n==1 то пусть выбирает по m. иначе по n. а вот так извращаться точно не стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 11:56 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=312&tid=2029573]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 367ms |

| 0 / 0 |
