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

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

Войти
Регистрация
Восстановить пароль
 
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
#1

Параметр в экземпляре класса - C++

24.03.2013, 17:09. Просмотров 325. Ответов 4
Метки нет (Все метки)

Добрый день всем.

имеется обрывок класса
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
template <class TKey, class TStoredData>
class FixedCache 
{
 
public:
 
    enum TRemoveStrategy {
 
        FIFO,
        LRU
 
    };
 
 
private:
 
...
 
 
public:
 
    FixedCache(size_t sz, TRemoveStrategy stratery_type);
 
...
далее создаю объект как

C++
1
FixedCache<int,int> d(5, FixedCache<int,int>::LRU);
то есть указываю 2-м параметром стратегию выборки элемента в кэше.

мне не нравится что надо указывать <int,int> в FixedCache<int,int>


ребят подскажите как бы покрасивей сделать этот момент ???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2013, 17:09     Параметр в экземпляре класса
Посмотрите здесь:

C++ Вопрос о создаваемом экземпляре класса
C++ Вычислить одномерный массив С, который содержит элементы, присутствующие в массивах А и В в одном экземпляре
C++ Функция как параметр метода класса
C++ Ошибка при передаче в скрытый параметр класса.
Передать параметр конустркутору производного класса C++
Как получить private переменную класса, функцей членом другого класса C++
Передать метод класса как параметр C++
C++ Класс как параметр другого класса
Параметр конструктора класса нигде не задействован, но его отсутствие влияет на компиляцию, почему так? C++
C++ Изменить параметр класса
Как получить доступ к методам класса, который содержится в векторе класса C++
C++ Параметр функции объект класса

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
4284 / 1406 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
24.03.2013, 17:59     Параметр в экземпляре класса #2
C++
1
typedef FixedCache<int,int> FixedCache;
?
soon
2537 / 1302 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
24.03.2013, 18:01     Параметр в экземпляре класса #3
Если TRemoveStrategy не зависит от шаблонных параметров, может имеет смысл вынести его за пределы класса?
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.03.2013, 18:29     Параметр в экземпляре класса #4
OstapBender, параметр бывает у функции, конструктора, или метода, а не у объекта.
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
24.03.2013, 19:43  [ТС]     Параметр в экземпляре класса #5
BumerangSP, хм, ради такой штуки, морочить голову пользователю, -- зачем я это сделал?
taras atavin, простите босс, я имел ввиду параметр конструктора класса
soon, возможно.
тогда допустим делаем так:
C++
1
2
3
4
5
6
7
8
namespace TRemoveStrategy {
 
    enum Strategy {
        FIFO,
        LRU
    };
 
}
пока что я остановился на таком варианте,
в классе везде пришлось заменить
C++
1
if (remove_strategy == LRU)
на
C++
1
if (remove_strategy == TRemoveStrategy::LRU)
Yandex
Объявления
24.03.2013, 19:43     Параметр в экземпляре класса
Ответ Создать тему
Опции темы

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