共用方式為


內嵌類別成員函式

在類別宣告的主體中定義的函式是內嵌函式。

範例

在下列類別宣告中,Account 建構函式是內嵌函式。 成員函式 GetBalance、Deposit 和 Withdraw 未指定為 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()
{
}
注意事項注意事項

在類別宣告中,函式不會使用 inline 關鍵字宣告。inline 關鍵字可以在類別宣告中指定,其結果相同。

指定的內嵌成員函式在每個編譯單位中必須以相同方式宣告。 這個條件約束會造成內嵌函式的行為如同具現化函式。 此外,必須只有一個內嵌函式的定義。

除非類別成員函式的定義包含 inline 規範,否則該函式會預設為外部連結。 先前的範例顯示,這些函式不需要使用 inline 規範明確宣告,在函式定義中使用 inline 會造成該函式變成內嵌函式。 不過,在呼叫函式之後重新將該函式宣告為 inline 是不合法的。

請參閱

參考

inline、__inline、__forceinline