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

Как быть и что делать? Трабла с шаблонами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Комментарии http://www.cyberforum.ru/cpp-beginners/thread615534.html
Есть такая вот программа: #include <math.h> #include <stdio.h> #include <iostream> #include <conio.h> using namespace std; int main(){ setlocale(LC_ALL,""); double K=0, V, a=-5, b=5, d=(b-a)/100;
C++ Круговая диаграмма Разработать класс круговая диаграмма для графического режима. http://www.cyberforum.ru/cpp-beginners/thread615530.html
C++ Поля класса
здравствуйте ) извините заранее если глупый вопрос :sorry: я просто новичок) class mycl { public: char a, b; }; int main() { mycl pr;
C++ Шаблон set
#include <iostream> using namespace std; template <class Data> class Set{ class Node{ public: Data d; Node *next, *prev; Node(Data dat = 0){d = dat; next = 0; prev = 0;}
C++ Программа для сравнения линий http://www.cyberforum.ru/cpp-beginners/thread615451.html
Начала изучать С++. Для прохождения практики нужно составить программу, которая открывает xml файл, в котором находятся по 2 пары координат линий. требуется найти среди них совпадающие с некоторой точностью и записать результат в такой же файл. пользователь при запуске должен вводить точность приближения линий. чем дружественнее будет интерфейс, тем лучше. обеспечить адекватную реакцию...
C++ Поле first — целое число, левая граница диапазона, включается в диапазон; поле second — целое число, правая граница диапазона, не включается в диапазо 8. Поле first — целое число, левая граница диапазона, включается в диапазон; поле second — целое число, правая граница диапазона, не включается в диапазон. Пара чисел представляет полуоткрытый интервал [first, second). Реализовать метод rangecheck() — проверку заданного целого числа на принадлежность диапазону. • метод инициализации Init; метод должен контролировать значения аргументов на... подробнее

Показать сообщение отдельно
AnyOne697
 Аватар для AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 532
28.06.2012, 03:53     Как быть и что делать? Трабла с шаблонами
Литературы по шаблонному программированию в Си++ так много, что поднимать и искать то, что нужно мне довольно долго...

Началось всё с того, что захотелось вывести в поток std::vector. Ну, сначала цикл, потом отнаследовал-перегрузил вывод. Потом ещё, ещё... А теперь. Не знаю зачем, но сделал фабрику вывода! Да, "ОМГ!".

Ну, собственно, вот и она. Трабл вот в чём - в силу не знания шаблонного программирования не могу знать, что править, чтобы работало. И няшно выглядело =)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
template <class T>
class show{
    T m_el;
public:
    show<T>(T);
    friend ostream& operator << <>(ostream&, show&);
};
 
template <class T>
show::show(T el){ m_el = el; }
 
template <class T>
ostream& operator << (ostream& os, show& s){
    os << "{";
    for(int i = 0; i < s.m_el.size(); i++)
        os << s.m_el[i] << (i+1 != s.m_el.size()) ? "; " : "}";
 
    return os;
}
Использовать предполагаю как-то так:
C++
1
std::cout << show<vector<int>> s(v);
, где v - экземпляр класса вектора.
Сейчас цикл на инте, потом сделаю на итераторе. Чтобы для всего STL =)

Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru