Condividi tramite


Funzioni inline membro di classe

Una funzione definita nel corpo della dichiarazione di classe è una funzione inline.

Esempio

Nella seguente dichiarazione di classe, Account il costruttore è una funzione inline.le funzioni membro GetBalance, Deposite Withdraw non sono specificate come inline ma può essere implementato come funzioni 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]

Nella dichiarazione di classe, le funzioni dichiarate senza inline parola chiave.inline la parola chiave può essere specificata nella dichiarazione di classe; il risultato sarà lo stesso.

Una funzione membro inline specificata deve essere dichiarata allo stesso modo in ogni unità di compilazione.Questo vincolo fa sì che le funzioni inline a comporta come se fossero funzioni creare un'istanza.Inoltre, deve essere un esattamente una definizione di una funzione inline.

Impostazioni predefinite della funzione membro di una classe al collegamento esterno a meno che una definizione di tale funzione contiene inline identificatore.Nell'esempio precedente viene illustrato che queste funzioni non devono essere dichiarate in modo esplicito con inline identificatore, tramite inline nella definizione della funzione consente a essere una funzione inline.Tuttavia, non è valido per ridichiarare un la funzione come inline dopo una chiamata alla funzione.

Vedere anche

Riferimenti

inline, __inline, __forceinline