Одна из причин, по которой я это делаю, заключается в том, что вы явно хотите сказать другим программистам не использовать параметры, а оставить их в комментариях для описания их намерений.Я знаю, что это не имеет смысла сейчас , но продолжайте читать.
Я буду использовать другой пример:
class A
{
public:
virtual void foo(int someProperty);
};
class B : public A
{
public:
virtual void foo(int /*someProperty*/);
};
Скажем, вы хотите это для конкретногослучай, когда вы хотите B::foo()
сделать что-то еще, а затем вызвать A::foo()
с параметром 0
.Вы должны сохранить ту же сигнатуру функции, чтобы полиморфизм работал, но внутри B::foo()
вы фактически не используете параметр.И вы не хотите использовать его в будущем.По сути, это заявление о намерениях: "логика этого метода не должна зависеть от someProperty" .
B::foo(int/*someProperty*/)
{
//do some stuff
A::foo(0);
}
С закомментированным именем параметра вы не сможете его использовать.(если только вы не приступите к взлому ).Но закомментированное имя говорит вам кое-что о параметре, который вы передаете A::foo()
- его 'someProperty' из A
.
Теперь я не согласен с синтаксисом, но это может быть возможным объяснением.