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

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

Войти
Регистрация
Восстановить пароль
 
TopLoader
 Аватар для TopLoader
42 / 42 / 4
Регистрация: 10.12.2011
Сообщений: 128
#1

Функция-член шаблонного класса - C++

13.09.2012, 19:21. Просмотров 534. Ответов 3
Метки нет (Все метки)

Как правильно объявить функцию-член шаблонного класса?

Класс:
C++
1
2
3
4
5
6
7
8
9
template <class SType> class Set {
        int len;                        // число членов
        SType members[MaxSize];         // массив, содержащий множество
 
        /* Функция find() закрыта, потому что она
           не используется вне класса Set. */
        int find(SType data);               // найти элемент
.........
};
Функция:
C++
1
2
3
4
5
6
7
8
9
int Set::find(SType data) {
    int i;
 
    for(i=0; i<len; i++)
        if(members[i]==data)
            return i;
 
    return -1;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2012, 19:21     Функция-член шаблонного класса
Посмотрите здесь:

C++ Член-функция класса не работает
C++ Член-ссылка на другой член класса
C++ Функция-друг одно класса, член другого.
C++ Обявление шаблонного класса
Переопределение операторов как член-класса и как дружественная функция C++
C++ Непонятно работает функция - член класса
C++ Не функция-член класса
Функция указатель на класс, определенный внутри шаблонного класса C++
C++ Функция-член Ошибка класса
И снова класс Матрицы с функция-член класса для нахождения определителя C++
Функция как аргумент шаблонного метода класса C++
Специализация шаблонного класса C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
13.09.2012, 19:23     Функция-член шаблонного класса #2
TopLoader,
C++
1
2
template<class SType>
int Set<SType>::find(SType data) { }
Соответственно описывать функцию надо в хедере
TopLoader
 Аватар для TopLoader
42 / 42 / 4
Регистрация: 10.12.2011
Сообщений: 128
13.09.2012, 19:44  [ТС]     Функция-член шаблонного класса #3
ForEveR, хм, а можно по-подробнее? Получается,нужно в самом классе функцию-член описывать?
И вдогонку: с дружественными функциями как поступать?

Просто я с шаблонами еще только знакомлюсь и до конца еще не понял, как с ними работать...
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
13.09.2012, 20:00     Функция-член шаблонного класса #4
TopLoader, Можно в классе, можно после класса. В классе соответственно будет просто

C++
1
int find(SType) { }
соответственно параметр и определение подставляйте сами. Если после класса - то тот вариант, который я давал до того.
По поводу дружественных - пример приведите о чем вы спрашиваете конкретно.
Yandex
Объявления
13.09.2012, 20:00     Функция-член шаблонного класса
Ответ Создать тему
Опции темы

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