Aracılığıyla paylaş


Satır içi sınıf üye işlevleri

Sınıf bildirimi gövdesinde tanımlı bir satır içi işlevi işlevdir.

Örnek

Aşağıdaki Sınıf bildirimindeki Account bir satır içi işlevi kurucudur.Üye işlevler GetBalance, Deposit, ve Withdraw olarak belirtilmemiş satır içi , ancak satır içi işlevleri olarak uygulanabilir.

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

[!NOT]

Sınıf bildiriminde olmadan bildirilen işlevler satır içi anahtar sözcüğü.Satır içi anahtar sözcüğünü sınıfı bildiriminde; belirtilebilir Sonuç aynıdır.

Verilen satır içi üye işlevi her derleme birimi aynı şekilde bildirilmelidir.Bu sınırlama, satır içi işlevleri örneklenmiş işlevleri yokmuş gibi davranmaya neden olur.Ayrıca, bir satır içi işlevi tam olarak bir tanımı olmalıdır.

Bu işlev için bir tanım içeriyor sürece sınıf üye işlevi varsayılan dış bağlantı satır içi belirleyici.Bu işlevleri açıkça ile bildirilmesi değil, önceki örnekte gösterildiği satır içi belirleyici; kullanarak satır içi işlev tanımı bir satır içi işlevi olmasını neden olur.Ancak, yasa dışı bir işlev olarak redeclare satır içi bu işlev çağrısı yapıldıktan sonra.

Ayrıca bkz.

Başvuru

satır içi, __inline, __forceinline