Dejas las declaraciones en el archivo de encabezado:
class A2DD
{
private:
int gx;
int gy;
public:
A2DD(int x,int y); // leave the declarations here
int getSum();
};
Y poner las definiciones en el archivo de implementación.
A2DD::A2DD(int x,int y) // prefix the definitions with the class name
{
gx = x;
gy = y;
}
int A2DD::getSum()
{
return gx + gy;
}
Puede mezclar los dos (deje la getSum()
definición en el encabezado, por ejemplo). Esto es útil ya que le da al compilador una mejor oportunidad de alinearse, por ejemplo. Pero también significa que cambiar la implementación (si se deja en el encabezado) podría desencadenar una reconstrucción de todos los demás archivos que incluyen el encabezado.
Tenga en cuenta que para las plantillas, debe mantenerlo todo en los encabezados.
public:
miembros en la parte superior podría afectar mucho , si el usuario los movió de acuerdo con este consejo, pero tenía dependencias de pedido entre los miembros y aún no sabía que los miembros se inicializan en el orden de su declaración ;-)