Как можно избежать дублирования спецификации шаблона класса для каждой функции члена?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как можно избежать дублирования спецификации шаблона класса для каждой функции члена?

Сообщение Anonymous »

Если у меня есть спецификация класса шаблона, как так, < /p>

template
class MyClass {
public:
void fun1();
// ...
void funN();
};

template
void MyClass::fun1() {
// definition
}

// ...

template
void MyClass::funN() {
// definition
}
< /code>

Если я изменю шаблон класса на что -то еще, скажем, я добавляю дополнительный параметр: < /p>

template
class MyClass {
// ...
};
< /code>

Тогда я должен изменить определение каждой функции (fun1, ..., funn), чтобы согласиться с спецификацией шаблона класса: < /p>

template
void MyClass::fun1() { //... }
< /code>

Есть ли какие -либо стратегии для этого? Могу ли я использовать макросы, например, < /p>

#define DFLT_TEMPLATE template
#define DFLT_CLASS class

DFLT_TEMPLATE
void DFLT_CLASS::fun1() { // ... }
< /code>

или это считается плохой практикой? < /p>

Подробнее здесь: https://stackoverflow.com/questions/419 ... mber-funct
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»