2014年1月5日日曜日
C++ 静的メンバ
今回は、C++のクラスの特徴についての
話になります。(^^)
C++では、クラスに静的メンバ変数というものが
定義できます。
通常クラスからオブジェクトを生成すると、そのオブジェクトごとにメンバ変数用の
メモリが割り当てられます。
しかし、静的メンバ変数の場合、クラスで共通のメモリ領域が割り当てられます。
そのため、各オブジェクトで同じ値を共有するような場合に
静的メンバ変数を利用すると便利です。(^^)
なぜなら、通常のメンバ変数と違い、オブジェクトごとにメモリ領域を
確保しないので、メモリを節約することができるからです。
たとえば、消費税率を入れるメンバ変数というのがある場合、この変数は
各オブジェクト共通で使用できるはずです。
もし、消費税率がそれぞれのオブジェクトのメンバ変数にあると、
それはメモリ領域の無駄遣いになります(-_-;)
また、静的メンバ関数というものもあります。
これは、静的メンバ変数のように共通のメモリ領域と使った関数ではなく、
静的なメンバ変数にしかアクセスできない関数のことです。(^^;)
使用例は次回以降で詳しくみていきます。
オブジェクトをメンバにする
今まで、変数や関数をメンバに持つクラスというものを紹介してきました。
さらに、オブジェクトそのものもメンバに加えることができます。(^^)
たとえば、時刻を計算したり、表現するTimeクラスのオブジェクトを作った場合
いろいろな所で、活用できそうです。
もし、予定表をつくるためScheduleクラスを作成するとしたら、
先のオブジェクトを利用すると簡単に作成できそうな気がします。
このように、配列、文字列や日付などあらかじめ用意しておくと
便利なオブジェクトはたくさんあります。
それらのオブジェクトを有効活用して、新しくクラスを作る手間を
削減できるようにしたいものです(^^;)
今日の名言
何かで悩みはじめ、頭の中が水車を動かしているエジプトのラクダのように
回転し始めると、私は体を十分に運動させて、こうした「憂鬱な気持ち」を
追い払うことにしている。悩みに対する最良の解毒剤は運動である。
悩みのある時は、できるだけ頭脳を使わずに筋肉を使うことだ。そうすれば、
その効果にびっくりするに違いない。私はいつもこの手を使う。
運動を始めると、悩みはすぐに消えてしまう。
エディー・イーガン大佐
もし世界中の人間の悩みを一つ所に積み上げてその人数に分け、平等に
分配したら、たいていの者は自分の取り分に満足して立ち去ることだろう。
ソロン
自分の悩みに「損害停止」の命令を出そう。これこれの事柄にはどのくらいの
不安が相当するか決定する-そしてそれ以上の不安は断るのである。
デール・カーネギー