////////////////////////////////////////////////////////////////////
●まぐまぐの新着ランキング「ビジネス版」で１位を獲得！
　【何もしないで月５０万円！幸せにプチリタイヤする方法】
　「圧倒的な自由」を手に入れたいあなたに、インターネットで幸せに【プチ
　リタイヤ】する方法を伝授。口コミで読者8000人を突破した伝説メルマガ。
　あなたも幸せにプチリタイヤしてみませんか？
　プチリタイヤしたい方は、この指とまれ！
　http://af1.mag2.com/m/af/0000008658/001/s00000000944001/006 
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


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

    送信日： 2006/02/06(Mon) No.343
    配信数： 1805
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

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

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


2006/02/06 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
14.22 複数の同期オブジェクト
14.23 メッセージの復習
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


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

2006/01/29 (Sun)
　思いっきり駄目な日。午後から体調悪くなって必死になってカブカテキョ
だけ終わらせて、あとは夜にほとはー外伝３描いて以上。回復する兆しがな
い。２月から忙しくなるのとかが色々と作用してる？

2006/01/30 (Mon)
　昨日の夜中にぷらとわ書いてかぶヘッダーの送信予約。朝はカブカテキョ
５人分を。土日月が忙しい……。

2006/01/31 (Tue)
　１０時起き。９時に目が覚めても１時間寝てしまう……。午後まで掛けて
カブカテキョ。某専門学校のプレゼンチェックのテキストまとめをして、
７時からプレゼンチェック。時間のチェックができない。左腕疲れる。あと
はのんびり。

2006/02/01 (Wed)
　思いっきり駄目な日。１０時に起きて、午後までにカブカテキョ終わらせ
てあとはぐだー。とにかく寒い。あとなんとか JavaA2Z の単語追加して以
上。カブカテキョの悩み。 .Net を始めないと……。

2006/02/02 (Thu)
　１０時起き。午後２時半までカブカテキョ書いて疲れた。今週は作業効率
悪い。 RBO やったら３時間くらいやっちゃうし。作業効率を良くするため
の、「やりたいこと」がない？　今この瞬間もやる気が起きない……。

2006/02/03 (Fri)
　１０時起き。午前中はカブカテキョとか。マンションの更新をすること
に。午後はセイバー描き。ほとはー外伝３の主線描いて以上。手が痛い。

2006/02/04 (Sat)
　１０時過ぎ起き。昨日はカブカテキョ書いて午前４時寝。午前中はその残
り、午後はセイバー描き。今日は密度高かったかも。イラスト周りだから？


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

2006/01/29 (Sun)
http://d.hatena.ne.jp/kab_studio/20060129
起きた。
[アニメ]おねがいマイメロディ 第44話「お城に突入できたらイイナ!」
[アニメ]ゾイドジェネシス 第42話「密会」
[アニメ]魔法戦隊マジレンジャー 
　第47話「にかける魔法〜ルルド・ゴルディーロ〜」
[アニメ]交響詩篇エウレカセブン 第40話「コズミック・トリガー」
[アニメ]タクティカルロア 第4話「Kのある風景」
[アニメ]陰からマモル！ 第4話「なんてったってアイドル」
[KAB-studio]ぷらとわ追加。
[KAB-studio][ほとはー]ほとはー外伝３ P.50
「バーチャルFPたまきの保険入門」で「確定申告入門」連載開始。

2006/01/30 (Mon)
http://d.hatena.ne.jp/kab_studio/20060130
起きた。
てんてこまい。
ひとだんらく。
うつぶせ寝のコアラ
[KAB-studio][JavaA2Z]単語追加。
[買]Amazonから届いたもの。
サイボウズがWebベースのRSSリーダーを提供開始
[絵][版権物イラスト]セイバー（ベース色）
[アニメ]Fate/stay night 第4話「最強の敵」
[アニメ]蟲師 第14話「籠のなか」

2006/01/31 (Tue)
http://d.hatena.ne.jp/kab_studio/20060131
起きたー
[アニメ]Canvas2 第16話「薄紫のオールナイトロング」
行ってくる。
帰ってきた。
コンプリートセレクション　仮面ライダー新１号　変身ベルト
 
2006/02/01 (Wed)
http://d.hatena.ne.jp/kab_studio/20060201
起きた……
あにてれシアター/Anitele Theater
初の「公開β」となった、IE 7のβ2
知らずに赤っ恥！パーツショップ店員が笑いをこらえた不思議な読み方
というわけで地震です。
[KAB-studio][JavaA2Z]単語追加。

2006/02/02 (Thu)
http://d.hatena.ne.jp/kab_studio/20060202
起きた。
[アニメ]灼眼のシャナ 第17話「新たなる序章」
[アニメ]かしまし 第4話「少女三角形」
[アニメ]IGPX 第15話「とまどい」
東京ガス、システム構築プロジェクト中止で50億円の特別損失
Visual Studio 2005エディション比較
[KAB-studio][JavaA2Z]単語追加。

2006/02/03 (Fri)
http://d.hatena.ne.jp/kab_studio/20060203
起きたー。
[アニメ]かりん 第12話「やっぱり兄キは　恥ずかしい」
[アニメ]半分の月がのぼる空 第3話「戎崎コレクションの終焉〜そして」
[アニメ]舞-乙HiME 第17話「蒼の舞／想い、散るとき」
[アニメ]びんちょうタン 第1話「春のお目ざめびん」(新)
[アニメ]REC 第1話「ローマの休日」(新)
[アニメ]ノエイン 第16話「クリカエシ」
[アニメ]マジカノ 第5話「ウィッチハンターってマジですか？」
[アニメ]SoltyRei 第15話「たどり着いた場所」
マンション更新
[絵][版権物イラスト]セイバー（顔だけ着色）

2006/02/04 (Sat)
http://d.hatena.ne.jp/kab_studio/20060204
起きた。
[絵][版権物イラスト]セイバー（服と鎧も着色）
[KAB-studio][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

■追加・更新単語

staticブロック
static初期化ブロック
ブロック修飾子
コンストラクタ修飾子
デフォルト
アクセス制御
Java仮想マシン
JAVA
拡張子
モジュール
実行モジュール
ソースプログラム
ソースコード
「F」
「f」
「D」
「d」
「L」
「l」
ネストクラス


////////////////////////////////////////////////////////////////////
●まぐまぐの新着ランキング「ビジネス版」で１位を獲得！
　【何もしないで月５０万円！幸せにプチリタイヤする方法】
　「圧倒的な自由」を手に入れたいあなたに、インターネットで幸せに【プチ
　リタイヤ】する方法を伝授。口コミで読者8000人を突破した伝説メルマガ。
　あなたも幸せにプチリタイヤしてみませんか？
　プチリタイヤしたい方は、この指とまれ！
　http://af1.mag2.com/m/af/0000008658/001/s00000000944001/006 
////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 16.16
演算子のオーバーロードとオペランド

「前回は演算子のオーバーロードについて復習しました」
『っていうか、カンマのオーバーロードって変すぎるんだけど！』
「これだね」

// , 演算子のオーバーロードメンバ関数。
CData & CData::operator , ( int p_i )
{
    // 引数をメンバ変数にセットします。
    m_iData = p_i;

    // 自分の参照を返します。
    return *this;
}

『っていうかこれ作れって言われても絶対作れないんだけど』
「そうでもないよ。演算子のオーバーロードには、ちゃんとしたルールがあ
るんです」
『え、ルールが？　それ憶えてればどんなのも作れるってこと？』
「そういうこと。まず、演算子には単項演算子と二項演算子がある、ってい
うのを思い出して」
『単項演算子は Version 6.09 ( No.109 ) で、二項演算子は 
Version 6.10 ( No.110 ) でやったね』
「まずは二項演算子に限定して説明します。二項演算子は、演算子を挟んで
ふたつの値を指定します。この値のことを【オペランド】と言いました」
『うん、たとえば』

    m_iData = p_i;

『だったら』

・左オペランド：m_iData
・右オペランド：p_i

『なんだよね』
「そうそう。これは、全ての二項演算子で同様です。【,】であってもね」
『そういえばそうだ……』
「さて、二項演算子をオーバーロードする場合、メンバ関数は以下のように
なります」

戻り値の型 左オペランドの型::operator 演算子 ( 右オペランドの型 )

『左オペランドと右オペランド……』
「たとえば、以下のように ,演算子をオーバーロードしたい場合」

    cData , 100;

「左オペランドは CData クラス、右オペランドは int 型になるから、以下
のようになります」

戻り値の型 CData::operator , ( int p_i )

『あ、こういうふうに決まるんだ！』
「まずは使い方を決めて、そこから、左オペランドを自クラス、
右オペランドを引数ってすればいいわけ」
『あれ？　でもこれって CData クラスのメンバ関数だよね。左オペランド
が CData クラスじゃない場合にはどうするの？』
「そのクラスのメンバ関数にすればいいってこと。つまり、左オペランドの
クラスのメンバ関数にして、右オペランドは引数に、ってすればいいってこ
と」
『？　それはそうなんだけど……たとえばさ、左右逆に』

    100 , cData;

『ってしたい場合にはどうするの？』
「その場合には、ちょっとルールが変わります。左オペランドのクラスの
メンバ関数にする、っていうルールは変わらないから、こういうふうに 
int 等の基本型が左オペランドになる場合には、メンバ関数としては作成で
きません」
『メンバ関数としてはできない……ってことは、普通の関数としてはでき
る、ってこと？』
「そういうこと。メンバ関数ではない、普通の関数の場合、以下のルールに
なります」

戻り値の型 operator 演算子 ( 左オペランドの型, 右オペランドの型 )

『あ、メンバ関数じゃなくなったら、引数が2つに増えた』
「普通の関数の場合、左オペランドが第1引数、右オペランドが第2引数にな
ります」
『なんか、前に言ってた、 this が隠し引数になっている、って話に似て
るかも』
「 Version 16.03 ( No.330 ) で説明したことだね。確かにちょっと似てる
かも。この普通の関数の方が基本で、メンバ関数版は、第1引数を this に
した、って考えると分かりやすいかもね」
『うん、そうかも』
「最初の例も含めて、メンバ関数ではなく普通の関数にした場合には、以下
のようになります」

// Data.h

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

// , 演算子のオーバーロードメンバ関数。
CData & operator , ( CData &p_rcData, int p_i );
CData & operator , ( int p_i, CData &p_rcData );


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

#include "Data.h"

// , 演算子のオーバーロードメンバ関数。
CData & operator , ( CData &p_rcData, int p_i )
{
    p_rcData.m_iData = p_i;

    return p_rcData;
}

CData & operator , ( int p_i, CData &p_rcData )
{
    p_rcData.m_iData = p_i;

    return p_rcData;
}


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

#include "Data.h"
int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    // CData クラスの変数を宣言します。
    CData cData;
    // ,演算子のオーバーロードメンバ関数を使用します。
    cData , 100;
    100 , cData;

    return 0;
}

『あれ！　メンバ関数じゃなくてもいいんだ！』
「別にメンバ関数でもメンバ関数じゃなくてもいいんです。便利な方を選択
すればいいわけ。クラスによってはメンバ関数化できないこともあるしね」
『んー、メンバ関数化できないのは分かるけど、今回みたいな場合にはどっ
ちがいいの？』
「演算子によるかな。たとえば、 = 演算子の場合にはメンバ関数の方がいい
と思うよ。自クラスが右オペランドにくることはないし、何よりメンバ関数
なら private メンバ変数にアクセスできるから」
『そっか、 = 演算子だと代入だから、 private メンバ変数にアクセスでき
る方が便利なんだ』
「 + 演算子の場合には、普通の関数がいいかな。 + 演算子はオペランドに
変更を加えないし、ほとんどの場合左右のオペランドを入れ替えたものが必
要になるから、片方だけメンバ関数っていうよりは両方とも普通の関数の方
がいいだろうし」
『それが今回の , 演算子の例ね』
「そういうこと。こういう使い分けが必要かな」
『使い分け……質問！』
「はい火美ちゃん」
『両方あっちゃだめ？　メンバ関数版と普通の関数版、こんな感じに』

// , 演算子のオーバーロードメンバ関数。
CData & CData::operator , ( int p_i )
{
    // 引数をメンバ変数にセットします。
    m_iData = p_i;

    // 自分の参照を返します。
    return *this;
}

CData & operator , ( CData &p_rcData, int p_i )
{
    p_rcData.m_iData = p_i;

    return p_rcData;
}

「そうすると、どっちを使えばいいのか分からないからコンパイルエラーに
なるんです」

    cData , 100;
    // コンパイルエラー：
    // error C2593: 'operator ,' があいまいです。

『なるほど、確かにあいまいだよね』
「演算子のオーバーロードは、ルールが厳しいようで、実はいろんな表記方
法があるんです。その分、こういう曖昧さを生む可能性があるから、慣れて
くるとその解決の方が難しいかも」

/*
    Preview Next Story!
*/
『うん、なんか演算子のオーバーロードが使いやすくなったかも』
「こういうルールが分かれば難しくないかもね」
『……でも難しいとこ多いけど。参照を使う所とか』
「演算子のオーバーロードと参照は切っても切れない関係なんです」
『切っても切れない？』
「というわけで次回」
＜ Version 16.17 演算子のオーバーロードの戻り値の型 ＞
『につづく！』
「オーバーロードのために参照が作られたとか？」
『そこまでは言わないけど……いや、もしかしたら……』


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

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
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 - 2006 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

