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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Описать структуру с именем ZNAK http://www.cyberforum.ru/cpp-beginners/thread124552.html
Пожалуйста помогите!!!! Никак не получается,надо на С++ Описать структуру с именем ZNAK, содержащую следующие поля: • фамилия, имя; • знак Зодиака; • дата рождения (массив из трех чисел). Написать программу, выполняющую следующие действия; • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа ZNAK; записи должны быть упорядочены по датам дней рождений;
C++ Ввод и вывод 1)Цифровой счетчик, это переменная с ограниченным диапазоном. Значение которой сбрасывается, когда ее целочисленное значение достигает определенного максимума (например, k принимает значения в диапазоне от 0..100). В качестве примера такого счетчика можно привести цифровые часы, счетчик километража. Опишите класс такого счетчика. Обеспечьте возможность установления максимального и минимального... http://www.cyberforum.ru/cpp-beginners/thread124540.html
C++ Битовые операции. Написать программу для хранения в битовом поле информации о конфигурации компьютера.
1. Написать программу для хранения в битовом поле информации о конфигурации компьютера. Например: Корпус AT – 0, ATX – 1; Видео на борту – 0, карта – 1 и так далее.
Добавление строки или столбца в матрицу C++
1. Написать программу, которая осуществляет добавление строки или столбца в любое место двумерной матрицы по выбору пользователя.
C++ Удалить с m по n символов, перезаписать строку и показать ее на экран http://www.cyberforum.ru/cpp-beginners/thread124536.html
1. Пользователь вводит строку с клавиатуры в фиксированный массив. Необходимо проверить, cколько элементов массива теперь занято и сколько свободно. 2. Показать на экран с m по n символов строки, введенной пользователем и записать данный отрезок в другой массив. (m и n также вводятся пользователем) 3. Удалить с m по n символов, перезаписать строку и показать ее на экран. 4. Пользователь...
C++ поменять вершины плиз, помогите, с прогой :( надо каждую вершину с четным номером поменять местами с сыном, имеющим четный номер. вообще без понятия, как делать :( подробнее

Показать сообщение отдельно
togramago
9 / 9 / 0
Регистрация: 03.11.2009
Сообщений: 39
02.05.2010, 20:13  [ТС]     шаблоны и typename в частности
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;
    }
 
}
 
Текущее время: 11:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru