Compartir a través de


Funciones insertadas miembro de clase

Función definida en el cuerpo de una declaración de clase es una función inline.

Ejemplo

En la siguiente declaración de clase, el constructor de Account es una función inline.Las funciones miembro GetBalance, Deposit, y Withdraw no se especifica como Alineado pero se puede implementar como funciones inline.

// Inline_Member_Functions.cpp
class Account
{
public:
    Account(double initial_balance) { balance = initial_balance; }
    double GetBalance();
    double Deposit( double Amount );
    double Withdraw( double Amount );
private:
    double balance;
};

inline double Account::GetBalance()
{
    return balance;
}

inline double Account::Deposit( double Amount )
{
    return ( balance += Amount );
}

inline double Account::Withdraw( double Amount )
{
    return ( balance -= Amount );
}
int main()
{
}

[!NOTA]

En la declaración de clase, las funciones se declaradas sin la palabra clave de Alineado .la palabra clave de Alineado se puede especificar en la declaración de clase; el resultado es el mismo.

Una función inline determinada de miembro se debe declarar la misma manera en cada unidad de compilación.Esta restricción hace funciones inline para comportarse como si fueran funciones creadas instancias.Además, debe haber exactamente una definición de una función inline.

Valores predeterminados de una función miembro de clase al acoplamiento externo a menos que una definición de esa función contiene el especificador de Alineado .En el ejemplo anterior que estas funciones no necesitan explícitamente declararse con el especificador de Alineado ; mediante Alineado en la definición de función provoca para ser una función inline.Sin embargo, no es válido para volver a declararla a la función como Alineado después de una llamada a esa función.

Vea también

Referencia

inline, __inline, __forceinline