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

вопрос на засыпку, возможно ли? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Размер окна http://www.cyberforum.ru/cpp-beginners/thread262677.html
Подскажите, пожалуйста, что дописать в код, чтобы размер консоли соответствовал заданным значениям.
C++ Stack overflow error #include <iostream> #include <string> using namespace std; class Dec; class Node { friend class Dec; private: http://www.cyberforum.ru/cpp-beginners/thread262676.html
В данной квадратной матрице порядка 17 указать индексы всех элементов с наименьшим значением C++
В данной квадратной матрице порядка 17 указать индексы всех элементов с наименьшим значением
строки C++
я в строках не разбираюсь помогите пожалуйсто, 1. Составить программу, позволяющую определить позицию первого вхождения в заданную строку какого-либо символа из второй заданной строки. Если первая строка не содержит ни одного символа, принадлежащего второй строке, результатом работы программы является -1 2. Задан текст. Слова в тексте разделяются пробелами либо знаками «,», «:», «;»....
C++ Вывести вертикальную гистограмму длин слов введенного текста http://www.cyberforum.ru/cpp-beginners/thread262623.html
Вывести вертикальную гистограмму длин слов введенного текста
C++ из строки сделать массив Как можно мою строку превратить в массив символов и работать с ней дальше? void main() { int i.m; char a = 12234; // как из нее сделать массив? for(int i=0;i<5;i++) if( a == a) m = i + 1; подробнее

Показать сообщение отдельно
LeX
Модератор
194 / 194 / 49
Регистрация: 30.06.2010
Сообщений: 748

вопрос на засыпку, возможно ли? - C++

23.03.2011, 17:10. Просмотров 348. Ответов 4
Метки (Все метки)

возможно ли каким либо образом перегрузить оператор [] в собственном классе что бы были возможны следующие конструкции:

C++
1
2
3
4
5
MyClass v;//или MyClass v[<размер>];
v[10]=3;
v[4]=35.6;
v[4.5]="sdfas";
v["dfg"]=432;
то есть что бы индекс был любого типа и значение элемента такого массива тоже было любого типа?

я как то поэкспериментировал с указателем void*(в реализации), получилось следующее:
C++
1
2
3
4
5
6
v["cg"]="buba";
v[1]=(void*)2;//тут хотелось бы без явного указания void*
//без него ругается что не может привести int к void*
v[2]="mars";
v["gr"]=(void*)4;
printf("%s\n%d\n%s\n%d", v["cg"], v[1], v[2], v["gr"]);
вывод работает. все нормально. как избавится от void*? перегрузкой оператора =?

оператор [] возвращает указатель на void* поле, куда записывается значение. строки проходят, числа-нет
а числа типа float и double вообще не удается привести к void*(ну и черт с ними)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru