Una razón que veo para hacer esto es que explícitamente desea decirle a otros programadores que no utilicen los parámetros, pero déjalos en comentarios para una descripción de su intención. Sé que esto no tiene sentido ahora, pero sigue leyendo.
voy a utilizar un ejemplo diferente:
class A
{
public:
virtual void foo(int someProperty);
};
class B : public A
{
public:
virtual void foo(int /*someProperty*/);
};
Digamos que usted quiere esto para un caso específico en el que desea B::foo()
hacer algo de material extra, y luego llamar a A::foo()
con el parámetro 0
. Debe mantener la misma firma de función, para que el polimorfismo funcione, pero, dentro de B::foo()
, no está realmente usando el parámetro. Tampoco quieres usarlo en el futuro. Básicamente es una declaración de intenciones, que dice "la lógica de este método no debe depender de alguna propiedad".
B::foo(int/*someProperty*/)
{
//do some stuff
A::foo(0);
}
Con el nombre del parámetro como comentario, realmente no se puede utilizar (a menos que llegar a alguna hacking).Pero el nombre comentado te dice algo sobre el parámetro que pasas al A::foo()
- es 'someProperty' de A
.
Ahora, no estoy de acuerdo con la sintaxis, pero esta puede ser una posible explicación.
Quizás alguien que se hizo cargo del código sabe que los nombres de los parámetros no son obligatorios en la declaración de la función, mientras que el que escribió el código no tuvo conocimiento de este hecho. Es solo una preferencia de uno sobre otro. –