どちらかというと、クラスのメンバ関数に実装するよりも、関数の戻り値として現在の時間 を表すインスタンスを得る方がスマートだと思います。しかしできることならば時間クラス に関わる事なのだからクラス内のメソッドとして定義したい。でも、現在の時間を得るのに インスタンスを一度作成した後メソッドを呼ぶというのは面倒くさい。
// 現在の時間を表す時間クラス のインスタンスを返す関数の例
TJikanClass GetNowTime( void )
{
:
:
return nowtime;
}// 時間クラスのメンバ関数に「現在の時刻をセットする」もの を持つ例
class TJikanClass
{
:
:public:
void SetNowTime( void ); // 現在の時間をセットする
:
:
};
静的メンバ関数を定義したい場合はクラス宣言の中の、関数宣言の前にstaticをつけま す。関数定義の部分にはつける必要がありません。
// クラス TJikanClass の中の静 的メンバ関数 GetNowTimeInstance() を実行する方法
TJikanClass::GetNowTimeInstance();
なお、静的メンバ関数はたいてい、というか100% public部で宣言します。private部や protected部で宣言したらわざわざstaticにする意味が無いでしょ?
// 静的メンバ関数の定義例
class TJikanClass;
class TJikanClass
{
:
:public:
static TJikanClass GetNowTimeInstance( void );
};TJikanClass TJikanClass::GetNowTimeInstance( void )
{
:
:
return nowtime;
}