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

Как использовать перегруженный оператор [ ], если дан не сам класс, а указатель на него? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Масив через рекурсию http://www.cyberforum.ru/cpp-beginners/thread960854.html
В упорядоченном массиве целых чисел ai, i = 1 ... n найти номер элемента "c" методом бинарного поиска, используя очевидное соотношение: если c<= an/2, тогда c є1...аn/2] , иначе c єn/2+1...an] . Если элемент c отсутствует в массиве, то вывести соответствующее сообщение. Решить двумя способами с рекурсией и без нее.. спасибо!
C++ Перегруженные шаблоны Написать перегруженные шаблоны для решения уравнения: ax^2+bx+c=0 http://www.cyberforum.ru/cpp-beginners/thread960853.html
C++ Перегруженные функции
Написать перегруженную функцию, которая возвращает площадь квадрата, прямоугольника, треугольника и круга. Считать, что для вычисления площадей фигур заданы целые величины длин сторон, а для круга – еще и pi =3.1415926
C++ Создание перегруженных функций
Написать перегруженную функцию, которая возвращает сумму двух целых чисел, трех целых чисел, двух слов
C++ Двухмерний Масив char http://www.cyberforum.ru/cpp-beginners/thread960837.html
Как на с++ описать динамический масив символов в таблицу?
C++ Const в конце строки Не могу разобраться с частью кода, программа считает комплексные числа. ComplexNumber const operator + (ComplexNumber const & cmpx) const { return ComplexNumber(m_real + cmpx.GetReal(), m_img + cmpx.GetImg()); } ComplexNumber const operator - (ComplexNumber const & cmpx) const { return ComplexNumber(m_real - cmpx.GetReal(), m_img - cmpx.GetImg()); подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6172 / 2901 / 284
Регистрация: 04.12.2011
Сообщений: 7,717
Записей в блоге: 3
23.09.2013, 23:50     Как использовать перегруженный оператор [ ], если дан не сам класс, а указатель на него?
Цитата Сообщение от Sammm Посмотреть сообщение
Сам разобрался, надо было
Да, это плодотворная идея, - ещё одни скобки и Ok:
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
#include <iostream>
#include <windows.h>
using namespace std;
class A{
static int Arr[10];//что бы проверить оператор
public:
    A(){}
    int operator[](int ind){
        if(ind < 0 || ind > 10){
cout<<"Индекс "<<ind<<" за пределами массива"<<endl;    
    system("pause");
    exit(1);
        }
cout<<"Arr["<<ind<<"] = "<<Arr[ind]<<endl;
return Arr[ind];
    }
};
int A::Arr[]={1,2,3,4,5,6,7,8,9,10};
 
int main()
 {
    SetConsoleCP (1251); SetConsoleOutputCP (1251);
 
    A a_obj;
    A *a = &a_obj;
 
int a3 = 0;
a3 = (*(a))[3];
a3 = a->operator [](5);//очень смешной вариант)
cout<<endl;    
    system("pause");
    return 0;
}
 
Текущее время: 17:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru