-----------------------------------------------------------------------
他の講座ではホームページのつくり方とか
簡単に稼げるとか言うだけでも、
この講座は耳に痛いことも言ってくれる本気モードの講座でした

　　　　─日本初、成果保証型アフィリエイト通信教育
　　　　　月10万円稼げなかったら、受講期間を無料で延長できます　─
          http://af1.mag2.com/m/af/0000008658/001/s00000002726001/018

------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


    (C)KAB-studio 1999 - 2005 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz

    送信日： 2005/11/14(Mon) No.332
    配信数： 1855
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
// NEW!!
http://www.kab-studio.biz/index.html

2005/11/14 (Mon)
　ほとはー外伝３にP.42を追加！
[ 三人合体ホットハーブ 外伝３ 【ワタシ の キロク】 ]
http://www.kab-studio.biz/Comic/HotHerbA3/index.html

2005/11/14 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
13.31 アルゴリズムのまとめ
14.01 マルチスレッドって？
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


////////////////////////////////////////////////////////////////////
// ちょお普通な日記
http://www.kab-studio.biz/nikki2/index.html

2005/11/06 (Sun)
　１時間ずれる。カブカテキョにぷらとわ書きに月曜分の更新に。疲労感が
……。夜にほとはー外伝３を途中まで。そして参加するの？　そして出席し
ます？

2005/11/07 (Mon)
　昨日は夜遅くまで掛けてほとはー外伝３とカブカテキョ。午前中も
カブカテキョ、午後は某専門学校の問題作成。少し余裕ある？

2005/11/08 (Tue)
　実家の人達と紅葉を見てきたり。結構歩いたんでちと疲れた。そして４時
寝６時起き。

2005/11/09 (Wed)
　布団がぬくくて気持ちいい……。午前中はうだー、午後はカブカテキョと 
Machician 書き。夜は Fate して以上。悠長なことは言ってられないけど。
問題作成の方の手を着けておかないと……。そして幸せ。

2005/11/10 (Thu)
　午前中はうだー。午後は Fate 。 Fate 面白い。 JavaA2Z の単語追加も。
インデックスちゃんと張って欲しい……。そして寝ころんだ。

2005/11/11 (Fri)
　昨日の夜中は Machician 書き。今日は色々はかどった。夜はぐだーっと。
Fate は目が疲れる……。明日あさっては某専門学校のを。

2005/11/12 (Sat)
　カブカテキョ、ぷらとわ書き、かぶヘッダーの準備、 JavaA2Z の単語追
加、サイトマップ作成、ほとはー外伝３のトーン貼り。今日の夜も色々とし
たいけど忙しい……。


////////////////////////////////////////////////////////////////////
// かぶろぐ。
http://d.hatena.ne.jp/kab_studio/

2005/11/06 (Sun)
http://d.hatena.ne.jp/kab_studio/20051106
起きましたね。
[アニメ]おねがいマイメロディ 第32話「ラッキーになれたらイイナ！」
[アニメ]ゾイドジェネシス 第31話「残された者」
[アニメ]魔法戦隊マジレンジャー 
　第36話「神罰執行〜マージ・ゴル・ゴジカ〜」
[アニメ]交響詩篇エウレカセブン 第29話「キープ・オン・ムービン」
[Prog]ぷらとわ追加。
[C69]落ちた……。
[ほとはー]ほとはー外伝３ P.41

2005/11/07 (Mon)
http://d.hatena.ne.jp/kab_studio/20051107
起きたよ。
[買]本屋で買ってきたもの。
[C69]当落通知到着
[Google AdSense]小切手がー！
はてなリング
はてなリングで有料コミュニティを構築できる？
[JavaA2Z]単語追加。
あなたは左サイドバー派？　それとも右サイドバー派？
[アニメ]銀盤カレイドスコープ 第5話「一人でデート」
[アニメ]蟲師 第3話「柔らかい角」
[アニメ]はっぴぃセブン 第6話「三人目の双子」
[Machician]第１１話 闇の背中 (10) [△ ▽]

2005/11/08 (Tue)
http://d.hatena.ne.jp/kab_studio/20051108
今日はお休み。
帰ってきた。
[JavaA2Z]単語追加。
[アニメ]Canvas2 第6話「誘惑のエメラルドグリーン」
[Fate/hollow ataraxia]橋突破。
[Machician]第１１話 闇の背中 (11) [△ ▽]

2005/11/09 (Wed)
http://d.hatena.ne.jp/kab_studio/20051109
そう起きたの。
[Fate/hollow ataraxia]バゼットさん4回目。
右脳育成 右脳チェック
[Machician]第１１話 闇の背中 (12) [△ ▽]

2005/11/10 (Thu)
http://d.hatena.ne.jp/kab_studio/20051110
起きたぜー。
[アニメ]灼眼のシャナ 第6話「交錯・発動・対決」
[アニメ]ARIA 第6話「その 守りたいものに…」
[きらら]まんがタイムきらら 12月号
[Fate/hollow ataraxia]バゼットさん5回目。
[JavaA2Z]単語追加。
[Machician]第１１話 闇の背中 (13) [△ ▽]

2005/11/11 (Fri)
http://d.hatena.ne.jp/kab_studio/20051111
起きますって。
[アニメ]かりん 第2話「あたしの好みは 恥ずかしい」
[アニメ]SHUFFLE! 第17話「素直な気持ち」
[アニメ]舞-乙HiME 第6話「ニナ、まかれる…orz」
[アニメ]ローゼンメイデン・トロイメント 第4話「契約」
[アニメ]SoltyRei 第6話「愛娘」
[アニメ]ノエイン 第5話「ソレカラ…」
[アニメ]魔法少女リリカルなのはA’s 
　第6話「それは小さな願いなの (後編)」
[アニメ]IGPX 第6話「猫VS犬」
[JavaA2Z]単語追加。
[Machician]第１１話 闇の背中 (14) [△]

2005/11/12 (Sat)
http://d.hatena.ne.jp/kab_studio/20051112
起きたー。
[装備]ビデオちょっと壊れた。
ガイキング 第1話「大空魔竜が来た！」
[アニメ]ふしぎ星の☆ふたご姫 
　第33話「ブモブモブウモ☆プモプモプーモ」
[JavaA2Z]単語追加。


////////////////////////////////////////////////////////////////////
// Ajaxでエロゲーを作るブログ
http://d.hatena.ne.jp/AjaxEroge/

（今週はお休みです）


////////////////////////////////////////////////////////////////////
// 風雅、舞い
http://www.kab-studio.biz/Novel/Fuga/index.html

■　第十二章　超越する存在　−３７−

「あなた達は殺さないようにって言われてるし、巻き添えは食らわせられな
いわね」
　遥はやれやれと言いつつ、衝撃波で砂埃が舞っている方へと向かう。
「あら」
　その中から、無数の蒼炎が現れる。
　が、そのすべてが、遥の脇をかすめるだけで、直撃しない。
　遥は、ダンスを踊るように、歩くだけ。
　その周りを、まるで自ら避けるように、蒼炎が通過していく。
「ふざけるな！！」
　砂埃の中から、雅樹。手には、蒼炎に包まれた刀。
　それすらも。
「せめて身体強化ＡＰくらい速くないと」
　右ジャブ・左フック・右アッパー・左ストレート・右廻し蹴り。
　それが一瞬にして放たれ、無数の蒼炎が弾き飛ばされ、最後の右廻し蹴り
が雅樹の蒼炎に包まれた刀を受ける。
「な……」
　驚愕する雅樹の目の前で、その刀は、音を立てて割れた。
　右足は戻ることなく雅樹の腹部を射抜き、折れた刀の柄を持つ右手を掴ん
で側面に回し、踏みつけるようにして地面に叩き付ける。
「へぇ、往生際が悪いのね」
　白目を剥いた雅樹の周り、何もないはずの空間を凄まじい勢いで叩き付け
る。
　まるで叩いた場所に現れるように、雅樹の周りに赤炎が現れ、現れると同
時に殴り付けられ、それは弾けて爆発し、その爆風すらも叩き潰し、雅樹が
発現させているはずの赤炎が、逆に雅樹の体を壊していった。
　爆発が終わり、舞が、口元を押さえる。
　雅樹の服はぼろぼろになり、その顔は、胸は、皮膚が剥け、焼けただれて
いた。
　それでも。
「おい」
　雅樹は声を出した。
「はいはい、ちょっと待ってね」
　と、全く意に介さず、雅樹の体をひっくりがえしてうつぶせにし、背中に
座る。
「待っててもらう間、ちょっとお話でもする？」
                                                              (続く)

////////////////////////////////////////////////////////////////////
// JavaA2Z
http://www.kab-studio.biz/Programing/JavaA2Z/index.html

■追加・更新単語

StringWriter
CharArrayWriter
BufferedWriter
FileWriter
FilterWriter
OutputStreamWriter
Writer
フラッシュ
StringReader
CharArrayReader
PipedWriter
PipedReader


////////////////////////////////////////////////////////////////////
-----------------------------------------------------------------------
他の講座ではホームページのつくり方とか
簡単に稼げるとか言うだけでも、
この講座は耳に痛いことも言ってくれる本気モードの講座でした

　　　　─日本初、成果保証型アフィリエイト通信教育
　　　　　月10万円稼げなかったら、受講期間を無料で延長できます　─
          http://af1.mag2.com/m/af/0000008658/001/s00000002726001/018

------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 16.05
ごく一般的なクラス

「ここまでの説明を踏まえて、一般的なクラスについて説明します」
『一般的なクラス？』
「そう、クラスとして必要なものを説明します。あ、基本的には 
Version 11.16 ( No.216 ) の復習になるので、その回をひととおり見てお
くのもいいかも」
『あ、そういえばあの時も簡単なクラスって説明してもらったね』
「今回はおさらいに加えて詳しい説明もします」
『おー』
「まず、基本は【privateメンバ変数】とその【getter】【setter】です」
『げったーとせったー？』
「そう。カタカナで【ゲッター】【セッター】と言ったり、合わせて
【アクセサー】と言ったりもします。これらは、【privateメンバ変数】に
アクセスするためのメンバ関数です」

// Data.h

// CDataクラス。
class CData
{
private:
    // private メンバ変数。
    int m_iData;

public:
    // m_iData の getter 。
    int GetData() const;
    // m_iData の setter 。
    void SetData( int p_iData );
};

「まず、クラスのメンバ変数は、 private にします」

private:
    // private メンバ変数。
    int m_iData;

「これは、特別な場合を除いて、全てのメンバ変数は private にすると思
ってください」
『全部？　基本的に public メンバ変数って使わない？』
「一部の例外を除いて使いません。前に【グローバル変数】について説明し
たと思うけど、そのグローバル変数の問題点って憶えてる？」
『えと、使える範囲が広いから、だっけ。 Version 6.16 ( No.116 ) でそ
う教わったけど』
「そう、グローバル変数は〈どこからでも〉アクセスできるというメリット
がある反面、アクセスされる範囲をコントロールできないというデメリット
があります」
『把握しきれなくなるんだよね』
「変数は、関数のように〈デバッグ時にアクセスを調べる〉ことができませ
ん。なので、変数がどこからアクセスされているか、ということを常に
プログラマーが把握していないと、思わぬタイミングで思わぬ値に書き換え
られていた、ということになりかねません」
『注意してればなんとかなるかな、って気もするけど』
「仕事が忙しくなると注意しきれないし、変数そのものだけじゃなくて、
ポインタや参照まで絡んでくると」
『げげ、そういえばそうだね、すごく範囲広くなるよね』
「アクセスできる範囲が広い、ということはそれだけ危険というわけです」
『だから、範囲を狭くして、アクセスできる関数を限定するわけね』
「そういうこと。メンバ変数が public か private か、っていうのも同じ」
『そだね、 public だと他のクラスとか関数からもアクセスされるけど、
private なら同じクラスからだけ、って決まってるから大丈夫だもんね』
「でも、それだとメンバ変数から値を取得したり、メンバ変数に値をセット
したりといったことができません。そこで、そのメンバ変数にアクセスする
ためのメンバ関数、 getter と setter を用意します」

public:
    // m_iData の getter 。
    int GetData() const;
    // m_iData の setter 。
    void SetData( int p_iData );

「この getter と setter は、以下のルールの関数にします」

・getter
    メンバ変数の型 Getメンバ変数名() const;

・setter
    void Setメンバ変数名( メンバ変数の型 引数名 );

『これって固定？』
「基本的に固定。なぜ固定かというと、こうすれば【ブロック選択】や
【正規表現】を使って簡単に作ることができるから」
『ブロック選択とかって、 Version 13.26 ( No.262 ) で教わった便利なや
つだよね』
「そう、これを使ってメンバ変数から簡単にアクセサを作ることもできるか
ら、ルールを決めて統一しておくと便利。分かりやすいしね」
『関数名は、メンバ変数の名前から付けるんだよね。でもそのままじゃない
ね』
「そうだね、 m_i とかの、型とかを意味する部分は取り除いたメンバ変数
名がいいかな」
『だから GetData() と SetData() ね』
「そういうこと。で、これらのメンバ関数の定義はこんな感じになります」

// Data.cpp
#include <Windows.h>
#include <stdio.h>

#include "Data.h"

// m_iData の getter 。
int CData::GetData() const
{
    return m_iData;
}

// m_iData の setter 。
void CData::SetData( int p_iData )
{
    m_iData = p_iData;
}

「まず、 getter は値を取得します」

// m_iData の getter 。
int CData::GetData() const
{
    return m_iData;
}

「このように、メンバ変数の値を返すのが getter 」
『フツーに返してるね』
「対して、値をセットするのが setter 」

// m_iData の setter 。
void CData::SetData( int p_iData )
{
    m_iData = p_iData;
}

「引数から渡された値をメンバ変数にセットします」
『これも普通ねー。……なんか、これだけだとメンバ変数を public にして
もいいかもって思うんだけど』
「そう思うのはもっともだけどね。関数作らなきゃいけないから。でも、そ
れでも作った方がいいよ」
『やっぱ、アクセスが分かるから？』
「そう、ブレークポイントを置いたり、 OutputDebugString() や TRACE() 
を置いたりできるし、その時のメンバ変数を出力できたりもするからね。そ
れに、値の修正もできるし」
『値の修正？』
「 setter や getter のメリットのひとつに、値を修正することもできる、
というものがあります。たとえば渡された値を 100 以下にする、とか」
『あ、 setter の中でそう処理する、ってわけね』
「これは結構重要で、たとえばビットフラグを使う場合、フラグに使える
数って決まってるでしょ」
『普通 #define や const int 使って決めるよね』
「メンバ変数でこのフラグを格納する場合、自由にアクセスできると好きな
値が入れられちゃう、つまりフラグとは関係ない値を入れてしまう可能性が
あるわけ」
『そか、 setter でそれを監視できる！』
「そういうこと。つまり」


            CData クラス           |          CData クラスの外
                                   |
           [private の壁]          |
                 |                 |
   ←←←←←←←←←←←←←←SetData()←←←←値をセット
  ↓             |                 |
m_iData          |                 |
  ↓             |                 |
   →→→→→→→→→→→→→→GetData()→→→→値を取得
                 |                 |
                 |                 |

「という感じに、 m_iData メンバ変数を CData クラスの中に囲い込み、外
との接点は public メソッドである setter と getter が受け持つようにす
るわけです」
『 m_iData は箱入り娘って感じね』
「こうすることで、 m_iData メンバ変数を外界から守り、適切な状態に保
つことができます」
『適切な状態に保つ？』
「さっきのビットフラグの例なら、正しいビットフラグが入っているように
したり、文字列なら NULL が入っていないようにする、整数値なら正しい範
囲の数が入っているようにする、といった状態にすること」
『なるほど、この時はこの値じゃなきゃいけない、とかあるもんね』
「そういうことを守るために外と中を分けるわけです。これを【カプセル化】
と言います」
『かぷせるか？』
「そう。カプセルって」
『あのガシャポンみたいなのだよね』
「……うん、まぁそう。ようするに中のものを梱包するための容器のこと。
カプセル化は、メンバ変数を private にして、外からアクセスできなくす
ることを言います」
『あ、じゃあ本当に箱入り娘なんだね』
「こういったルールを守るためにも、メンバ変数おアクセスを制限する必要
があるので、メンバ変数は private にして、アクセスは getter と setter 
に限定するわけです」

/*
    Preview Next Story!
*/
『なんかほとんど同じことのはずなのに不思議と新鮮』
「憶えてないだけとか」
『ぶー。そういえば、前の時とちょっとプログラムの書き方違くない？』
「そういえばそうだね。これは触れておいた方がいいかな」
『げ、やぶ蛇？』
「まぁいつか説明するつもりだったし」
『というわけで次回』
＜ Version 16.06 インラインメンバ関数 ＞
「につづく！」
『サブタイがエロい件について』
「いや、全然そういうんじゃないから」


////////////////////////////////////////////////////////////////////
/*                          ご注意！！                            */

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
http://www.kab-studio.biz/nikki2/index.html
・購読登録を解除したいときにはこのページで行なってください。
http://www.mag2.com/m/0000012198.htm
・解除は自分で行なってください。
・バックナンバーはこれらのページにあります。
http://backno.mag2.com/reader/Back?id=0000012198
http://www.kab-studio.biz/Freeware/index.html#MailMagazine


////////////////////////////////////////////////////////////////////
/*
    KAB-studio.h
      Weekly Mail Magazine.
      Written by Kaburaya Seiden.
      http://www.kab-studio.biz/Info/MailMagazine/

    (C)KAB-studio 1999 - 2005 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

