////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


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

    送信日： 2003/08/04(Mon) No.218
    配信数： 2830 ( Mag2 + Pubzine )
＊    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
＊    発行元： Pubzine ( URL: http://www.pubzine.com/  ID: 590 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
/*                         移転完了！！                           */

　前々から告知していたように、 KAB-studio は移転しました。
　このメールマガジンを読むだけの方はほとんど気にする必要はないと思い
ますが、ホームページの方も読んでいる方はお気に入り等を修正してくださ
ると嬉しいです。
　それでは、これからもかぶスタをよろしくお願いいたします〜。
[ 移転のおしらせ ]
http://www.kab-studio.biz/Info/Removal/


////////////////////////////////////////////////////////////////////
/*                ２００３年８月４日（月）の更新                  */
http://www.kab-studio.biz/

・ほとはー１話追加！
　三人合体ホットハーブに１話追加。なんかいいかも。
[ 三人合体ホットハーブ ]
http://www.kab-studio.biz/Comic/HotHerb/


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

2003/07/27 (Sun)
　午前中は記憶なし。午後はほとはー表紙夏コミ版とか部屋の片付けとか。
毎日１枚イラストはネイト様。これまでに比べて楽な気が。ほとはーのオ
チ。

2003/07/28 (Mon)
　Java のお仕事に駆り出されたり変なアプリ入れたり。微妙にナーバス。
イラストは秋葉様。おね２は３人目登場。そして MSDN とか Visio 。

2003/07/29 (Tue)
　イラストはトウカ。お仕事は前半負荷テスト午後は Java コードレビュー
を。Template Method パターンと Factory Method パターンが融合。仕様書
がダメ過ぎ……。メルブラ対戦が新鮮。そして form とクラス。

2003/07/30 (Wed)
　Tomcat と Ant と javac と JTestCase 。 JTestCase ってなんかあれ？
ダイエット食。イラストはパシフィカ。独習 UML とセキュアド。はうあー
WOLF'S RAIN 最終回録り逃した……。そしてハオシャオの理由。

2003/07/31 (Thu)
　背中痛い……。８時上がりってちょうどいい。別プロジェクト開始。でも
その合間に。 WinCVS 嫌い。定時上がりは豆腐。イラストはおね２。なにげ
に面白いけど。トリコロがいい感じ。

2003/08/01 (Fri)
　イラストはちゃん様。８月９月のプロジェクトと、別のプロジェクト。コ
ミケカタログと月姫ボトルキャップフィギュアコレクション。先生とユズハ
がえらい高い。土日の予定。

2003/08/02 (Sat)
　午前中は死んでた。午後はほとはー描いただけ。今日はなんかぐだーっ
と。テレビはステルヴィアがいい感じ。日曜に移転します。


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

■　第八章　朱と碧　−６−

「熱く、ない」
　朱き泉の中央を走る橋梁の上を、舞はゆっくりと歩いていく。周りから立
ち上る炎は、舞を完全に覆い尽くしても、焼き尽くすことはなかった。
「これ、偽物の炎なんですか？」
「偽物といえば偽物。しかし、朱き泉の者として言うならば、そなたの知る
炎は、ここにある炎が意味を持って存在した形である、と表現することがで
きる」
「つまり、この炎こそが本来の姿で、普通の火とかっていうのは、ここのが
具現化したもの、ってこと？」
「そういうことだな」
　舞が進んだ先、直径２メートルほどの床に赤葉が立っていた。
「結白殿が熱さを感じない理由は、ふたつある。ひとつは、私がそなたを受
け入れているため」
「受け入れてる？」
「無効化していると言ってもいい。もしここに全く関係のない者が訪れたな
ら、その者は焼き尽くされるであろう」
　今ここに赤葉様がいて、そうしてくださってるからこそ、燃えない。
　その事実は、恐怖を少しばかり感じさせた。少しだったのは……やっぱり
赤葉様の人徳かもしれない。
「もうひとつは、泉には本来、違いはないという事実」
「違いがない？？」
　それには同意しかねた。自分のいた碧き泉と、この朱き泉とはまったく異
なっていた。
「碧き泉には、術者がおらんようだな」
「術者？　簡単な能力ならみんな使えるけど」
「それは、血の濃さに頼ているだけであろう。術とは本来、修練によって身
に着けられるものであり、その能力に長けた者が術者となる」
「魔法使い、ってことかな……」
　自分や雅樹が泉の能力に頼り、またリシュネ達がヒトではない存在という
ことを知っているから、普通の人間がそういった能力を使えることを、にわ
かには信じられないでいた。
「術者であれば、泉の本質を捉えることができる。泉とは、異能の能力を行
使するために必要な大気を発する場だということを」
                                                              (続く)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
『夏コミ２週間前！』
「夏コミ来る方は寄ってくださいね」
『来い！　って言えばいいじゃん』
「それはちょっと……地方の人もいるし、１７日だけだし」
『いっそ通販の方はやめちゃえば？』
「それも……」
『通販って結局どうなるの？』
「今のところ、分割してダウンロード課金みたいな形式になる予定」
『分割？』
「 VC 、 Java 、ドキュメント類の３つをそれぞれ４００円で」
『お手頃な値段ね〜。マンガよりもずっと売れるんじゃない？』
「あり得るかも……」
『いやそこはツッコミ入れなきゃ』
http://www.kab-studio.biz/
_______________________________________________________________[KCM]

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

　Version 11.18
コンストラクタって複雑！

『なんかのっけから嫌なタイトルね……』
「コンストラクタはかなり複雑な面があるから」
『用心してかかれってことね』
「そういうこと。コンストラクタの基本は、前回の CHasConstructor 」
『クラス名と同じで、戻り値なし、だね』
「そうそう。あと、 Version 7.08 ( No.128 ) も読んでおいて」
『これは使う時のだね』
「それをふまえた上で、まずは引数を持つコンストラクタについて」

// 引数付きコンストラクタを持つクラス
class CHasParamConstructor
{
private:
    int m_iData;

public:
    // 引数付きコンストラクタ。
    CHasParamConstructor( int p_i )
    {
        m_iData = p_i;
        TRACE( "%d\n", m_iData );
    }
};

// 使用例。
void Use_CHasParamConstructor()
{
    CHasParamConstructor cHasParamConstructor( 100 );
    // 100
}

『なるほど、コンストラクタも普通の関数みたいに引数付けられるんだね。
でも、変数作るときに後ろに()付けるのってなんか変……』
「ふふふふふ」
『な、なに？』

void Use_intParam()
{
    int i( 200 );
    TRACE( "%d\n", i );
    // 200
}

『うわ、気持ち悪ッ！！』
「というように、普通の型でも同じように初期化できるんです」
『って、 int にもコンストラクタがあるってこと？？』
「ないよ。でも、あるみたいに使える、そういう仕様になってるってこと」
『クラスにできることは、普通の型にもできるってことね……でもヤダ
なーこれ。普通は』

void Use_intParamEqual()
{
    int i = 200;
    TRACE( "%d\n", i );
    // 200
}

「って感じだよね。！　もしかして……」

void Use_CHasParamConstructorEqual()
{
    CHasParamConstructor cHasParamConstructor = 100;
    // 100
}

『うわできちゃったよ……』
「そう、普通の型にできることはクラスでもできるってこと」
『なんか妙ねー』
「でも」

    CString cStr = "あいうえお";

『あ、これはわかりやすいかも』
「でしょう。まぁでも、クラスで = が使えるのは、引数がひとつのコンス
トラクタだけ。たとえば」

// 引数ふたつ付きコンストラクタを持つクラス
class CHas2ParamConstructor
{
private:
    int m_iData;

public:
    // 引数ふたつ付きコンストラクタ。
    CHas2ParamConstructor( int p_i, int p_i2 )
    {
         m_iData = p_i + p_i2;
        TRACE( "%d\n", m_iData );
    }
};

「みたいに引数がふたつ付いてるコンストラクタの場合」

void Use_CHas2ParamConstructor_Bad()
{
    CHas2ParamConstructor cHas2ParamConstructor = 100;
    // コンパイルエラー。
    // error C2440: 'initializing' : 'const int' から 
    // 'class B1::CHas2ParamConstructor' に変換することはできません。
    // (新しい動作 ; ヘルプを参照)
    // コンストラクタはソース型を持てません、またはコンストラクタの
    // オーバーロード レゾリューションがあいまいです。
}

『あ、コンパイルエラー』
「こういう場合には

void Use_CHas2ParamConstructor()
{
    CHas2ParamConstructor cHas2ParamConstructor( 100, 200 );
    // 300
}

『って、普通に関数みたく呼ばなきゃいけないわけねー』
「そういうこと。 = を使うことの呼びやすさと、書き方の統一を考える
と、どっちがいいとは一概には言えないかもね」
『書き方の統一？』
「引数がひとつなら = 、ふたつ以上なら () で、っていうのは変でしょ」
『そか、混ざっちゃうのはいけないんだね』
「そういうこと。だけど = って書いた方がわかりやすい場合もあるわけ
で」
『むむむ、じゃああたしはどっちにすればいいの？』
「それは自分で考えましょう」
『げ』
「でも、他の人と共同でプログラムを組むときにはその辺はちゃんと決める
ようにね」
『どっちを使うにしろ、一緒にはしなきゃってことね』
「そゆこと。さて、次の話。今使ったクラスを、今度は引数を渡さないで
使ってみます」

void Use_CHas2ParamConstructor_NoParam_Bad()
{
    CHas2ParamConstructor cHas2ParamConstructor;
    // コンパイルエラー。
    // error C2512: 'CHas2ParamConstructor' : 
    // クラス、構造体、共用体にデフォルト コンストラクタが
    // ありません。
}

『げ、コンパイルエラーだ』
「クラスに引数付きコンストラクタがある場合には、その引数付きのしか呼
べないんです。だから、引数のないコンストラクタがないばあいには」
『エラーになっちゃう、と』
「この場合、方法はふたつ。ひとつは、引数のないコンストラクタを作るこ
と。さっきのクラスを」

// 引数ふたつ付きコンストラクタを持つクラス
class CHas2ParamConstructor
{
private:
    int m_iData;

public:
    // 引数のないコンストラクタ。
    CHas2ParamConstructor()
    {
        m_iData = 0;
    }

    // 引数ふたつ付きコンストラクタ。
    CHas2ParamConstructor( int p_i, int p_i2 )
    {
        m_iData = p_i + p_i2;
        TRACE( "%d\n", m_iData );
    }
};

「ってすれば」
『引数のないコンストラクタが呼ばれるから大丈夫ってことね』
「もうひとつの方法は、コンストラクタをひとつも作らないっていう方法」
『へ？』
「 Version 11.16 ( No.216 ) で CHasMember ってクラスを作ったでしょ」
『そういえば、あれにはコンストラクタがなかったけど使えたね』
「実は、コンストラクタがひとつもない場合には、自動的に引数なしのコン
ストラクタが作られるんです」
『へー、だからコンストラクタを作ったときと同じようになるんだ』
「そういうこと。この自動的に作られるのを【デフォルトコンストラクタ】
って言います」
『あ、それって Version 7.08 のでもやったね』
「そう、あれと同じ。ただ、行儀良くするなら、何もする必要がなくても、
引数なしのコンストラクタは作っておいた方がいいかな」
『デフォルトコンストラクタを使わないで、ってこと？』
「その方がわかりやすいからね。ちょっとめんどくさいけど」
『確かに』
「あと、わざと引数のないコンストラクタを作らない、っていう方法もある
からね」
『え？　だってそしたら、普通に変数作れないじゃん』
「そういう場合が必要な時もあるってこと。たとえば今回紹介したクラスは 
int のメンバ変数を持ってるけど、このメンバ変数の初期値を決められない
場合とかは？」
『それってどういう場合？』
「たとえば曜日とか」
『曜日……確かに、初期値って言われると難しいね。日曜日とかそんな気も
するけど、なんか違う気もするし……』
「そういう場合には引数付きコンストラクタだけ作って、必ず初期値を渡し
てもらうようにすれば」
『問題ないわけね』

/*
    Preview Next Story!
*/
『こういうのって、なんとなくわかるけど、それ止まりってゆーか』
「えっと、じゃあこれから今のコード見ないで１０回書いて」
『へ！？』
「っていうくらい、練習した方がいいよ」
『算数の書き取りドリルですかそれは』
「というわけで次回」
＜ Version 11.19 オーバーロード関数を作ってみよう ＞
『につづく！』
「僕もやったし」
『やったんかい！』
「いや、ツッコミ入れるとこじゃないんだけど……」


////////////////////////////////////////////////////////////////////
/*                ２００３年８月１１日（月）の更新                */
http://www.kab-studio.biz/

・ほとはー１話追加予定
　三人合体ホットハーブに１話追加予定。もみがバージョンアップ！　の予
定。


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

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
http://www.kab-studio.biz/nikki2/
・購読登録を解除したいときにはこのページで行なってください。
＊http://www.mag2.com/m/0000012198.htm
＊http://www.pubzine.com/detail.asp?id=000590
・解除は自分で行なってください。
・バックナンバーはこれらのページにあります。
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 - 2003 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.com
*/
////////////////////////////////////////////////////////////////////

