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

С++, создание шаблонов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать класс "Массив" http://www.cyberforum.ru/cpp-beginners/thread194607.html
Здравствуйте. Стоит задача создать класс программы, которая создает вторую матрицу из первой без её главной диагонали. С помощью одного из пользователей данного форума, получилась программа. Теперь преподователь говорит создать класс "Массив" к этой программе. Можете объяснить что это и как это осуществить? Насколько я знаю в этом классе должны содержаться функции, которые используются в...
C++ Иерархия классов, группа, итераторы Цель: создания объектов-групп и использования методов-итераторов. Задание: Создать иерархию классов и группу по такой схеме: http://www.cyberforum.ru/cpp-beginners/thread194594.html
Реализация двумерной таблицы C++
Помогите реализовать двумерную таблицу с возможностью вставки/удаления строк/столбцов и возможностью произвольного доступа к элементам таблицы. Главный критерий - скорость операций. Необходимый набор функций: InsertCol(nCol); InsertRow(nRow); DeleteCol(nCol); DeleteRow(nRow); Get(nRow, nCol); Set(nRow, nCol); Первое что пришло в голову.
C++ Даны векторы AN={ ai }i=1,N и BN={ bi }i=1,N . Найти их скалярное произведение по формуле:
Помогите пожалуйста с задачей: Даны векторы AN={ ai }i=1,N и BN={ bi }i=1,N . Найти их скалярное произведение по формуле:
C++ нужен совет Proff http://www.cyberforum.ru/cpp-beginners/thread194577.html
С чего начать программирования С++ ? Какие книжки рекомендуете ?(если не лень укажите авторы).
C++ числа палиндромы даже в квадрате програма Найти все числа палиндромы в диапазоне от n до m которые при возведении в квадрат так же дают палиндром. как ее реализировать? подробнее

Показать сообщение отдельно
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
21.11.2010, 22:02     С++, создание шаблонов
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <iostream>
#include <list>
#include <stdexcept>
 
template < typename T, typename Container = std::list<T> >
class Stack
{
    private:
        Container container_;
 
    public:
        explicit Stack(const Container& container = Container())
            : container_(container)
        {
        }
 
        void push(const T& item)
        {
            container_.push_back(item);
        }
 
        void pop()
        {
            if( container_.empty() ) throw std::underflow_error("Error: stack is empty.");
            container_.pop_back();
        }
 
        T& top()
        {
            if( container_.empty() ) throw std::underflow_error("Error: stack is empty.");            
            return container_.back();
        }
 
        const T& top() const
        {
            if( container_.empty() ) throw std::underflow_error("Error: stack is empty.");
            return container_.back();
        }
 
        bool empty() const
        {
            return container_.empty();
        }
};
 
int main()
{
    try
    {
        // для int(для всего остального делается аналогично)
        Stack<int> s;
        for(int i = 0; i < 10; ++i)
            s.push(i);
 
        while( !s.empty() )
        {
            std::cout << s.top() << ' ';
            s.pop();
        }
 
        // исключение т.к. стек уже пуст
        s.pop();
    }
    catch(std::underflow_error& e)
    {
        std::cerr << e.what() << std::endl;
    }
 
    return 0;
}
 
Текущее время: 05:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru