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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Keyw
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 36
#1

Как работать с шаблонами - C++

21.04.2014, 23:32. Просмотров 358. Ответов 5
Метки нет (Все метки)

Простенькая програмка, но не компилируеться. Не могу я понять как работать с шаблонами, сколько уже перечитал, все-равно не въеду что не так. Объясните пожалуйста.
C++ (Qt)
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
template<class T>
class F
{
public:
    T t;
    void in(T i);
};
 
void in(T i)
{
    t=i;
}
 
void main()
{
    F f;
    int i;
    cin >> i;
    f.in(i);
    cout << f.t; 
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2014, 23:32     Как работать с шаблонами
Посмотрите здесь:

Как правильно разделить файл в шаблонами? - C++
Попробовал разделить один файл на два. В заголовочный &quot;proba.h&quot; поместил прототип шаблона и специализацию. В одном файле исходного кода...

Как быть и что делать? Трабла с шаблонами - C++
Литературы по шаблонному программированию в Си++ так много, что поднимать и искать то, что нужно мне довольно долго... Началось всё с...

Как Объявить массив Структур, где структура с типами template шаблонами - C++
template &lt;typename Object, typename TypeFunc, typename Type1, typename Type2, typename Type3, typename Type4, typename Type5, typename...

Работа с шаблонами С++ - C++
Задача следующая: реализовать пирамидальную сортировку с итерфейсом таким - подаем класс итератор на наши данные и сласс сравнения в класс...

Работа с шаблонами с++ - C++
Добрый вечер. Опять возник вопрос( Нужно создать шаблон списка. Для этого нужно создать структуру, где будут храниться указатели на...

Работа с шаблонами - C++
Доброго вечера! Сейчас решаю задачку на использование шаблонов, и вот с чем столкнулся: при вводе значений в массив, выдает ошибку (она на...

Обращение с шаблонами классов. - C++
У меня классическая задача для начинающих - класс определяющий координаты точки. Использую класс без шаблонов - всё работает. Для того...

Почему не компилируется с шаблонами? - C++
Точнее, компилируется, но не линкуется. Ошибка &quot;undefined reference&quot; в 9-й строке main.cpp. Никак не пойму, как же надо было написать? ...

Реализация стека с шаблонами - C++
Вообщем, реализую стек известная проблема, не могу понять почему не компилирует, хотя 20 раз все проверил #include &lt;iostream&gt; ...

Возникла трудность с шаблонами - C++
Не компилится следующий код. Не даёт вернуть итератор вектора. Почему нельзя так делать? template &lt;class Type&gt; class Vector { ...

Задача с шаблонами функций - C++
Необходимо написать программу, которая использует шаблон функции по имени Min для определения наименьшего из двух аргументов, используя...

Задача с шаблонами и наследованием - C++
Ребята, есть такая проблема.. Предположим, что у нас есть класс Image (не шаблонный). И есть класс ImageExt&lt;T1,T2&gt; (шаблонный),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
21.04.2014, 23:41     Как работать с шаблонами #2
C++
1
2
3
4
5
int main()
{
    F<int> f;
//...
}
Keyw
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 36
21.04.2014, 23:48  [ТС]     Как работать с шаблонами #3
Аааа, я то въехать не мог куда это писать, спасибо!
DrOffset
6918 / 4111 / 939
Регистрация: 30.01.2014
Сообщений: 6,905
21.04.2014, 23:49     Как работать с шаблонами #4
Цитата Сообщение от Keyw Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
template<class T>
class F
{
public:
    T t;
    void in(T i);
};
template <class T>
void F<T>::in(T i)
{
    t=i;
}
^ исправил.
Keyw
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 36
23.04.2014, 07:41  [ТС]     Как работать с шаблонами #5
все-равно не компилируется
C++ (Qt)
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
template<class T>
class F
{
public:
    T t;
    void in(T i);
};
 
void F<T>::in(T i)
{
    t=i;
}
 
void main()
{
    F<int> f;
    int i;
    cin >> i;
    f.in(i);
    cout << f.t; 
    getch();
}
Работаю в Visual, выбивает:
1>t.cpp(15): error C2065: T: необъявленный идентификатор
1>t.cpp(15): error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "i"
1>t.cpp(15): error C2761: void F<T>::in(T): повторное объявление функции не разрешается
1>t.cpp(15): error C2059: синтаксическая ошибка: )
1>t.cpp(16): error C2143: синтаксическая ошибка: отсутствие ";" перед "{"
1>t.cpp(16): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
23.04.2014, 08:04     Как работать с шаблонами #6
Keyw, см пост выше - пропущен template перед методом in (строка 15).
Yandex
Объявления
23.04.2014, 08:04     Как работать с шаблонами
Ответ Создать тему
Опции темы

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