Форум программистов, компьютерный форум, киберфорум
Наши страницы

Синтаксис определения метода специализии шаблона класса. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ нужно расставить каменты по программе http://www.cyberforum.ru/cpp-beginners/thread434747.html
помогите расставить каменты по программе //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "windows.h" #include...
C++ массив целых чисел Помогите решить... очень нужно... Дан массив целых чисел. Составить программу обработки двумерных массивов: Для каждого столбца матрицы определить сумму элементов, стоящих под главной диагональю.... http://www.cyberforum.ru/cpp-beginners/thread434734.html
C++ Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке.
Здравствуйте уважаемые! помогите исправить оошибку в программе, совсем запутался Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке. нужно...
C++ Переменные
Вот есть переменная: float x=100.0f Что значит в конце буква f ?
C++ Присвоение указателю на char значения int http://www.cyberforum.ru/cpp-beginners/thread434717.html
доброе время суток уважаемые пользователи как можно присвоить int значение char *'у .int имеет размер 4 байта, и указатель на char имеет 4 байта, значит думаю можно это сделать, только не...
C++ Организовать двухсторонний список, в котором хранится текст помогите понять почему программа не работает, и как сделать чтобы она заработала #include <stdio.h> #include <iostream> #include <string> using namespace std; void keep_window_open() { подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4986 / 3043 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
25.01.2012, 04:19
Вы об этом?
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
#include <iostream>
 
template<typename T1, typename T2>
class Foo
{
public:
    void func() const;
};
 
template<typename T1, typename T2>
void Foo<T1, T2>::func() const
{
    std::cout << "Foo<T1, T2>::func()" << std::endl;
}
 
template<>
class Foo<int, int>
{
public:
    void func() const;
};
 
void Foo<int, int>::func() const
{
    std::cout << "Foo<int, int>::func()" << std::endl;
}
 
int main()
{
    Foo<double, char> f1;
    Foo<int, int> f2;
    
    f1.func();
    f2.func();
    
    return 0;
}
Добавлено через 2 минуты
Только вот я не вижу смысла описывать метод вне класса. Шаблоны всё равно не разнести по файлам определения и инициализации. Описывали бы внутри класса:
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
#include <iostream>
 
template<typename T1, typename T2>
class Foo
{
public:
    void func() const
    {
        std::cout << "Foo<T1, T2>::func()" << std::endl;
    }
};
 
template<>
class Foo<int, int>
{
public:
    void func() const
    {
        std::cout << "Foo<int, int>::func()" << std::endl;
    }
};
 
int main()
{
    Foo<double, char> f1;
    Foo<int, int> f2;
    
    f1.func();
    f2.func();
    
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru