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

Функциональные объекты - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Виртуальные функции http://www.cyberforum.ru/cpp-beginners/thread859490.html
Здравствуйте,уважаемые посетители форума.Пишу программу созданию фигур и их перемещению на экране использую виртуальные функции.И написал,все работает,но возник один вопрос я объявляю виртуальные функции: virtual void Show();//функция показывает фигуру virtual void Hide();// скрывает фигуру virtual void ChangePosition(int NewX1,int NewY1);//изменяет её координаты и собственно...
C++ Лафоре, преобразование классов // times1.cpp // программа перевода времени в 24-часовом написании // в 12-часовое #include <iostream> #include <string> using namespace std; /////////////////////////////////////////////////////////// class time12 { private: http://www.cyberforum.ru/cpp-beginners/thread859480.html
C++ Зачем нужны сортировки
Скажите пожалуйста, зачем при подготовке к олимпиаде по программированию, нужно учить алгоритмы: Быстрая сортировка, сортировка пузырьком и так дальше, если в языке c++ есть функция sort. И не нужно морочиться!. Смысл изучения этих алгоритмов?
Запуск cmd с командой из программы C++
Добрый вечер! В программе потребовалось запустить cmd с командой. Сначала подумал, мне нужно что то вроде system("H:\Graphviz2.30\bin\dot.exe -Tsvg H:\TSD\tsd9\tsd9\tsd9\current_graph.graphviz -o H:\TSD\tsd9\tsd9\tsd9\current_graph.svg"); но оно не заработало. Подскажите как запустить командную строку с данной строчкой?
C++ Код не работает так, как хотелось бы http://www.cyberforum.ru/cpp-beginners/thread859462.html
В книге есть задача с кодом: #include "stdafx.h" #include <iostream> using namespace std; int main() { setlocale (0, ""); int i=10;
C++ Посимвольное чтение из файла Всем добрый вечер (ночь)! Так сложилась ситуация что нужно мне посимвольно считать текст из файла fin в массив str, причем считывать надо только ДО символа переноса строки \n(включительно). Скажите пожалуйста почему не работает мой фрагмент (где-то зацикливается): while (!feof(fin)) { do { str=fgetc(fin); j++; } while (str!='\n'); i++; подробнее

Показать сообщение отдельно
Ryabchik
17 / 17 / 1
Регистрация: 09.01.2013
Сообщений: 158
08.05.2013, 21:08     Функциональные объекты
Здравствуйте. Я начал изучать STL и столкнулся с трудностями в работе с шаблонами.
Я знаю как выглядят и работают простые шаблоны функций и классов, разобрался с шаблонами алгоритмов, но совсем запутался с функциональными объектами(
В книге приведен следующий код:
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
 
using namespace std;
 
template <typename T>
class less_with_count : public binary_function <T, T, bool> {
    public:
        less_with_count () {}
        static long counter;
        bool operator () (const T& x, const T& y) {
            ++counter;
            return x < y;
        }
        long report () const { return counter; }
};
 
template < typename T >
long less_with_count <T> :: counter = 0;
 
int main () {
    const long N1 = 1000, N2 = 128000;
    for (long N = N1; N <= N2; N *= 2) {
        vector <int> vector1;
        for (int k = 0; k < N; ++k) vector1.push_back (k);
        
    random_shuffle (vector1.begin (), vector1.end ());
    less_with_count <int> comp_counter;
    less_with_count <int> :: counter = 0;
    
    sort (vector1.begin (), vector1.end (), comp_counter);
    cout << "The size is: " << N << ", "
         << comp_counter.report () << " comparisons commited\n";
    }
    
    return 0;
}
Насколько я понял, это сортировка с подсчетом числа сравнений
НО!
1. Что за функция стоит после объявления класса?
C++
1
: public binary_function <T, T, bool>
2. Это вообще что такое? Функция?
C++
1
2
template < typename T >
long less_with_count <T> :: counter = 0;
3. И зачем нужно вот это?
C++
1
less_with_count <int> :: counter = 0;
Буду очень рад любой помощи)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru