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

"Двойной" доступ к переменным класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ С++, какую среду разработки выбрать? http://www.cyberforum.ru/cpp-beginners/thread713444.html
Появилось желание изучить язык программирования. Собственно, интересует какая разница, и существует ли она вообще между С++ и Visual C++? Какую среду разработки используют профессиональные программисты?
C++ Описать структуру ZNAK Описать структуру ZNAK, содержащую следующие поля: • Фамилия, имя • Знак зодиака • Дата рождения (массив из 3 чисел). Программа должна выполнять следующие действия: • Ввод с клавиатуры данных в массив, состоящий из n элементов типа ZNAK; записи должны быть упорядочены по датам рождения; • Вывод на экран информации о человеке, чья фамилия введена с клавиатуры; Если такого нет, выдать на... http://www.cyberforum.ru/cpp-beginners/thread713435.html
C++ CUDA на примерах
Скомпилировал из данной книги несколько вариантов программы(не важно какой): с глобальной, константной, текстурной памятью. Измерил, как описано в коде, время выполнения кода CUDA функциями: cudaEventCreate(), cudaEventRecord(), cudaEventElapsedTime() на старой паршивой карте: Asus NVidia GeForce 8500 GT. Все работает и время выполнения каждого варианта получаю разное,-в зависимости от...
C++ Сортировка массива указателей на абстрактный базовый класс
Я создал абстрактный базовый класс (с названием Base) и два производных класса (с названиями Two и Three). После инициализации объектов производных классов каждый из этих объектов имеет два данных-члена: string и double. Вопрос: как можно организовать сортировку всех созданных объектов (и объектов Two, и объектов Three)? Первое мое действие - я создаю массив указателей на АБК Base и помещаю в...
C++ Контроль ввода http://www.cyberforum.ru/cpp-beginners/thread713413.html
Задача: написать программу, которая дает пользователю ввести массив, а потом при помощи функции подсчитать символы. Вот код: #include <iostream> using namespace std; const int ArSize=10; void strcount(const char * str); int main() { char input; char next; cout<<"Enter a line:\n";
C++ Удаление и добавление звена в линейном списке Здравствуйте тётеньки и дяденьки!!!...Помогите мне дописать код... Задача: Картотека в бюро обмена квартир организована в виде линейного списка. Сведения о каждой квартире включают: -количество комнат; -этаж; -площадь; -адрес. Написать программу, которая обеспечивает: -начальное формирование картотеки; -ввод заявки на обмен; подробнее

Показать сообщение отдельно
scriptus
1 / 1 / 0
Регистрация: 08.02.2012
Сообщений: 16
03.12.2012, 18:11  [ТС]     "Двойной" доступ к переменным класса
Deviaphan, аргумент принят. Хотя это не умаляет того, что в compile-time я не поймаю ошибку неверной конверсии variant'а к нужному мне типу. Как в принципе и в случае использования контейнера из UniformType. Но это неизбежно.

Ответ на вопрос: см. первый пост. Индексированный доступ нужен не по родному типу, а по преобразованному (UniformType). Если бы его не было изначально, то вопрос с boost::variant или boost::any не стоял бы. А использовать два контейнера со схожим функционалом одновременно как-то не хочется. Тем более, что без UniformType все равно не обойтись.

По поводу полиморфизма. Увы, в данном случае все классы существуют и определенны, иначе бы я все типы данных наследовал от UniformType изначально и данного вопроса бы не стояло.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru