2012-08-09 15 views
5

¿Existe una convención de nomenclatura común para funciones virtuales privadas en C++? He visto convenciones como do_something(...), something_vfunc(...), etc. ¿Qué convención se suele usar en proyectos de C++?¿Existe una convención de nomenclatura común para funciones virtuales privadas en C++?

+0

'mvp_doSomething()'. miembro, virtual, privado :) –

+0

No, hay toda una plétora de convenciones. – juanchopanza

+3

@LuchianGrigore mvp_hwnd_getHandle() ... La furia, la rabia incontrolable ... jons34yp - ¿se apegan a las mismas convenciones como variables? – MrFox

Respuesta

2

La convención utilizada en el estándar (por ejemplo entre muchos std::numpunct) es que do_something es un método protectedvirtual, y something es un método public no virtual que llama.

1

uso el prefijo dyn_. entonces usted puede ver:

class t_type { 
public: 
    /* ... */ 
    void method() { 
     this->dyn_method(); 
    } 

private: 
    virtual void dyn_method() const = 0; 
}; 

class t_subtype : public t_type { 
public: 
    /* ... */ 
private: 
    virtual void dyn_method() const { 
     ... 
    } 
}; 

tan lejos como uno común - no estoy seguro.

1

Estoy seguro de que hay muchas convenciones. Tiendo a usar un seguimiento Impl o _impl dependiendo de la convención del resto del nombre del método. Por lo tanto, ComputeFoo llama al ComputeFooImpl según sea necesario.

1

Diferentes equipos y personas usan estándares diferentes. Mi opinión personal no es agregar prefijos o sufijos especiales. El nombre debe representar lo que hace esta función. IDE lo ayudará a ver si es privado o protegido, virtual o no. Y sí, es un buen gusto hacer que la función virtual sea privada o protegida, pero si está agregando funciones nuevas solo para seguir a este principio, piénselo dos veces.

+0

Estoy de acuerdo. Los IDE modernos son buenos para proporcionar pistas sobre el código. Agregar sufijos y prefijos a nombres de variables es old-school. Los hace (en mi humilde opinión) más feo y más difícil de interpretar. – Nav

Cuestiones relacionadas