Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать структуру с именем ZNAK https://www.cyberforum.ru/ cpp-beginners/ thread124552.html
Пожалуйста помогите!!!! Никак не получается,надо на С++ Описать структуру с именем ZNAK, содержащую следующие поля: • фамилия, имя; • знак Зодиака; • дата рождения (массив из трех чисел). ...
C++ Ввод и вывод
1)Цифровой счетчик, это переменная с ограниченным диапазоном. Значение которой сбрасывается, когда ее целочисленное значение достигает определенного максимума (например, k принимает значения в...
C++ Битовые операции. Написать программу для хранения в битовом поле информации о конфигурации компьютера.
1. Написать программу для хранения в битовом поле информации о конфигурации компьютера. Например: Корпус AT – 0, ATX – 1; Видео на борту – 0, карта – 1 и так далее.
C++ Добавление строки или столбца в матрицу 1. Написать программу, которая осуществляет добавление строки или столбца в любое место двумерной матрицы по выбору пользователя. https://www.cyberforum.ru/ cpp-beginners/ thread124537.html
C++ Удалить с m по n символов, перезаписать строку и показать ее на экран https://www.cyberforum.ru/ cpp-beginners/ thread124536.html
1. Пользователь вводит строку с клавиатуры в фиксированный массив. Необходимо проверить, cколько элементов массива теперь занято и сколько свободно. 2. Показать на экран с m по n символов строки,...
поменять вершины C++
плиз, помогите, с прогой :( надо каждую вершину с четным номером поменять местами с сыном, имеющим четный номер. вообще без понятия, как делать :(
C++ Через указатели на указатели посчитать сумму двух чисел и записать в третье
1. Через указатели на указатели посчитать сумму двух чисел и записать в третье. 2. Написать примитивный калькулятор, пользуясь только указателями. 3. Найти факториал числа, пользуясь только...
C++ Проектирование и разработка автоматизированной системы Помогите придумать решение єтой задачи тут нужно проявить фантазию, а у меня фантазия отсутствует! --------------------------------- Проектирование и разработка автоматизированной системы... https://www.cyberforum.ru/ cpp-beginners/ thread124514.html
C++ Подскажите с чего начать https://www.cyberforum.ru/ cpp-beginners/ thread124494.html
Вот условия: Описать структуру с именем STUDENT, содержащую следующие поля: • фамилия и инициалы • номер группы • успеваемость (массив из пяти элементов) Написать программу, выполняющую...
C++ Перевод в 8-ую систему Вообщем проблема такая(( Нужно написать программу перевода многоразрядного числа в восьмеричную систему. Многоразрядное число основано на двунаправленном динамическом списке...Сам вывод числа... https://www.cyberforum.ru/ cpp-beginners/ thread124484.html
9 / 9 / 3
Регистрация: 03.11.2009
Сообщений: 39
02.05.2010, 20:13  [ТС] 0

шаблоны и typename в частности

02.05.2010, 20:13. Просмотров 993. Ответов 3
Метки (Все метки)

Ответ

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
template<class T>
void Similar::similar(T & main, const T & specific)
{
    //Member functions for associate containers:
 
    T help; //constructor
    help = main; //operator=
 
    typename T::iterator spec = specific.begin();
 
    {//Operations:
        typename T::iterator it = main.begin();
 
        //find  Get iterator to element (public member function)
        cout << "Find: " << *(main.find(*spec)) << endl;
        //count Count elements with a specific key (public member function)
        cout << "Count: " << main.count(*spec) << endl;
        //lower_bound   Return iterator to lower bound (public member function)
        cout << "Lower_bound: " << *(main.lower_bound(*(++spec))) << endl;
        //upper_bound   Return iterator to upper bound (public member function)
        cout << "Upper_bound: " << *(main.upper_bound(*(++spec))) << endl;
        //equal_range   Get range of equal elements (public member function)
        cout << "\tEqual_range: " << endl;
 
//  !Вот здесь не работало но вследствии различніх ухищрений сработало  (не відает ошибки пока что)
//      !но я точно не знаю правильно ли и будет ли работать ибо есть еще ошибки *crying*
              typedef typename T::iterator ( itt);
        std::pair<itt, itt> ret;
        ret = main.equal_range(*spec);
        cout << "lower_bound points to " << *ret.first << endl;
        cout << "upper_bound points to " << *ret.second << endl;
 
    }
 
    {//Observers:
        //key_comp  Return key comparison object (public member function)
        
//   !Вот здесь відает что 
//   !error: invalid use of ‘std::set<int, std::less<int>, std::allocator<int> >::key_compare’
 
                typename T::key_compare kcpm;
        kcpm = main.key_compare();
        cout << "Key_compare: " << kcpm(*spec, *main.end()) << endl;
        //value_comp    Return value comparison object (public member function)
        typename T::value_compare vcmp = main.value_comp();
        cout << "Value_compare: " << vcmp(*spec, *main.begin()) << endl;
    }
 
}


Вернуться к обсуждению:
шаблоны и typename в частности
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.05.2010, 20:13
Готовые ответы и решения:

Шаблоны. Что лучше <class T> или <typename T>?
Одни пишут &lt;class T&gt;, другие &lt;typename T&gt; Какая между ними разница?

Хранить шаблоны документов в базе и выводить данные в эти шаблоны
Доброго времени суток. Интересует вопрос: мне необходимо формировать вордовские документы по...

Оператор typename
Здравствуйте. Делал недавно небольшую программку и столкнулся с одной интересной штукой. Суть...

Access97 typename
Привет Алл! У меня вопрос почему функция typename вместо типа string,data, возвращает в access...

3
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.