با تعریف یک تابع به صورت ایستا یا Static ، آن را مستقل از هر شی منحصر به فرد از کلاس خواهید کرد. به عبارت دیگر این تابع برای همه ی اشیاء کلاس، یکسان خواهد بود. مزیت توابع static نسبت به توابع دیگر این است که میتوان آنها را بدون اینکه شیئی از کلاس را در اختیار داشته باشیم، فراخوانی کنیم. تابع زیر نمونه ی یک تابع static برای کلاس است. از کلمه ی کلیدی static برای تعریف چنین تابعی استفاده می شود.

class Sample
{
public:
     static void Msg()
    {
        Console::WriteLine("hello world !");
    }
};

تابع Msg را میتوان به دو صورت فراخوانی کرد، به صورت مستقیم یا با استفاده از یک شی :

Direct call :  Sample::Msg();


with "object" : Sample obj;
                    obj.Msg();

With "pointer to object" : Sample* obj = new Sample();
                                   obj - > Msg();