Sdílet prostřednictvím


Funkce členů třídy vložená

Vložené funkce je funkce definovaná v těle deklaraci třídy.

Příklad

V následující deklaraci třídy Account konstruktor je vložené funkce.Funkce členů GetBalance, Deposit, a Withdraw není určen jako vložené , ale mohou být implementovány jako vložené funkce.

// 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()
{
}

[!POZNÁMKA]

V deklaraci třídy byly funkce deklarované bez vložené klíčové slovo.Vložené lze zadat klíčové slovo v deklaraci třídy; výsledek je stejný.

Dané vložené členské funkce musí být deklarován stejným způsobem jako v každé jednotce kompilace.Toto omezení způsobí, že vložená funkce chovat, jako by byly vytvořenou instanci funkce.Kromě toho musí být přesně jedna definice vložené funkce.

Členské funkce třídy výchozí externí navázání, pokud obsahuje definici funkce, vložené specifikátor.Předchozí příklad ukazuje, že tyto funkce není nutné v dokladech explicitně s vložené specifikátor; pomocí vložené ve funkci definition způsobí být vložené funkce.Je však neplatný redeclare funkce jako vložené po volání funkce.

Viz také

Referenční dokumentace

vložené, __inline, __forceinline