////////////////////////////////////////////////////////////////////
ITエンジニア社員募集 -採用者には５万円進呈-
Supported by effect : http://af1.mag2.com/m/af/0000008658/001/s00000003179001/008
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


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

    送信日： 2006/01/23(Mon) No.341
    配信数： 1813
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

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

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


2006/01/23 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
14.18 クリティカルセクションを使おう！
14.19 クリティカルセクションを使ってみる！
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


2006/01/23 (Mon)
　KAB-studio.hの縮刷版を更新！
[ ダウンロードルーム ]
http://www.kab-studio.biz/Freeware/index.html#MailMagazine


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

2006/01/15 (Sun)
　某専門学校で講義見学＆講義レビューの日程決定。帰ったら胃腸が……。
そしてトップページ。RSS推奨。

2006/01/16 (Mon)
　いっぱいいっぱい。お昼前に歯医者。背中痛いし他にも色々と。原因は
判っているけど……。

2006/01/17 (Tue)
　背中がさらに痛い……。午前中はカブカテキョ。午後はプレゼンチェック
のためのまとめ。時間配分やホワイトボードに書く内容のまとめとか。明日
また確認しよう。夜はまた背中の痛みが……。あと JavaA2Z 単語追加。
作業効率重視でいい感じかも。

2006/01/18 (Wed)
　また背中痛い。午前中はカブカテキョ。午後はプレゼンチェックのシミュ
レーション。やってみるとうまくいかない……何度もやって慣れさせる。夜
に新宿の某専門学校でプレゼンチェック。結構いい感じ。これで一歩を踏み
出せたかも。

2006/01/19 (Thu)
　９時起き。まだ背中痛い……。３時に某専門学校継ながりのおしごとの
面接。面接慣れないなぁ……。帰ってきたらぐだーっと。Machician最終回。
「不良債権」とこれから。

2006/01/20 (Fri)
　まだ背中痛い。午前中はアニメ観つつカブカテキョ。午後はぐだーっとし
てからお絵描きでセイバーを。夕方にまた別件のおしごとの話。またぐだー
っとなってから JavaA2Z の単語追加。

2006/01/21 (Sat)
　９時半起き。外は雪。午前中はカブカテキョ、午後は JavaA2Z の単語追加
に明日の準備、縮刷版更新、ほとはー外伝３の主線とか。なんか眠い……
何ヶ月か前の作業効率の悪い頃みたいだ。


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

2006/01/15 (Sun)
http://d.hatena.ne.jp/kab_studio/20060115
起きてます。
帰ってきた。
大相撲解説にデーモン小暮
[アニメ]おねがいマイメロディ 第42話「楽しい日記が書けたらイイナ！」
[アニメ]ゾイドジェネシス 第40話「バイオ粒子砲」
[アニメ]魔法戦隊マジレンジャー 第45話「二人はともだち〜ジー・ゴル・マジュナ〜」
[アニメ]交響詩篇エウレカセブン 第38話「デイト・オブ・バース」
[アニメ]タクティカルロア 第2話「彼女の理由」
[アニメ]陰からマモル！ 第2話「この世で斬れぬ物はなし」
[アニメ]蟲師 第12話「眇の魚」
[KAB-studio][Prog]ぷらとわ追加。
[KAB-studio][ほとはー]ほとはー外伝３ P.48
教授

2006/01/16 (Mon)
http://d.hatena.ne.jp/kab_studio/20060116
起きた。
[アニメ]Fate/stay night 第2話「運命の夜」
TIIDA BLOG - Type Hatena
[病気治療]歯医者
ダメだ……。
[Machician]エピローグ (7) [△ ▽]

2006/01/17 (Tue)
http://d.hatena.ne.jp/kab_studio/20060117
起きた、が……。
[アニメ]Canvas2 第14話「ひめごとはダークネイビー」
IT業界のタブー「偽装請負」に手を染めてませんか
[KAB-studio][JavaA2Z]単語追加。
[Machician]エピローグ (8) [△ ▽]

2006/01/18 (Wed)
http://d.hatena.ne.jp/kab_studio/20060118
起きた、けど……。
[病気治療]背中の痛み
[病気治療]歯医者予定変更
そろそろです。
帰ってきた。
[Machician]エピローグ (9) [△ ▽]
[Machician]あとがき [△]

2006/01/19 (Thu)
http://d.hatena.ne.jp/kab_studio/20060119
起きた。
[アニメ]灼眼のシャナ 第15話「炎の生まれた日」
[アニメ]かしまし 第2話「彼女は彼女であることを自覚した」
[アニメ]IGPX 第13話「明日へ、」
[アニメ]レモンエンジェルプロジェクト 第2話「Evolution」
気が抜けてる……。
はてなカウンターでURLが表示されるように！
おしごと。
帰宅。
[きらら]まんがタイムきららMAX 2006年3月号

2006/01/20 (Fri)
http://d.hatena.ne.jp/kab_studio/20060120
起きたー。
[アニメ]舞-乙HiME 第15話「アリカ、泣く」
[アニメ]ノエイン 第14話「キオク」
[アニメ]マジカノ 第3話「危険な兄妹ってマジですか？」
[アニメ]SoltyRei 第13話「distance」
[アニメ]よゐこのBLOOD+
[絵][版権物イラスト]セイバー(ラフ)
[KAB-studio][JavaA2Z]単語追加。

2006/01/21 (Sat)
http://d.hatena.ne.jp/kab_studio/20060121
起きた。
[アニメ]ふしぎ星の☆ふたご姫 第42話「ゲットだ満月草☆ムーンマリアを救え！」
財布に入れて持ち歩ける USB ドライブ
[KAB-studio][JavaA2Z]単語追加。
[KAB-studio]KAB-studio.h縮刷版更新。


////////////////////////////////////////////////////////////////////
// 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

■追加・更新単語

完全修飾クラス名
FQCN
論理演算
真偽値
「真」
「偽」
AND演算
OR演算
パッケージも含めたクラス名
論理否定
NOT演算
XOR演算
ショートサーキット
左オペランド
右オペランド
短絡評価
短絡回路
ショートサーキット演算子
短絡演算子
_
半角英数字


////////////////////////////////////////////////////////////////////
ITエンジニア社員募集 -採用者には５万円進呈-
Supported by effect : http://af1.mag2.com/m/af/0000008658/001/s00000003179001/008
////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 16.14
コンストラクタのオーバーロード

「前回はオーバーロードについて説明しました」
『関数は、同じ名前で引数の違う関数を作れる、と』
「そして渡した引数でどの関数が呼ばれるかが決まる、というわけです」
『それだけなら簡単よね』
「それだけなら、ね」
『う”』
「というわけで、まずはコンストラクタのオーバーロードについて説明しま
す」
『コンストラクタのオーバーロード、引数の違うコンストラクタ……ん？』
「そう、実はこれまでの例で何度も出てきています。ここまでで説明してき
たコンストラクタの復習も兼ねて見ていきます」

// Data.h

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

public:
    // 引数のないコンストラクタ。
    CData();
    // コピーコンストラクタ。
    CData( const CData &p_rcData );
    // 引数が int 型のコンストラクタ。
    CData( int p_i );
    // 引数が int 型2つのコンストラクタ。
    CData( int p_i1, int p_i2 );
};


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

#include "Data.h"

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

// コピーコンストラクタ。
CData::    CData( const CData &p_rcData )
    : m_iData( p_rcData.m_iData )
{
}

// 引数が int 型のコンストラクタ。
CData::CData( int p_i )
    : m_iData( p_i )
{
}

// 引数が int 型2つのコンストラクタ。
CData::CData( int p_i1, int p_i2 )
    : m_iData( p_i1 + p_i2 )
{
}


「全部で4つのコンストラクタがあります」

・引数のないコンストラクタ
・コピーコンストラクタ
・引数が int 型のコンストラクタ
・引数が int 型2つのコンストラクタ

『あれ？　デフォルトコンストラクタはないの？』
「ないよ」
『……あー、そりゃそうだよね、コンストラクタ作ったらなくなっちゃうん
だから』
「そういうこと。デフォルトコンストラクタは〈コンストラクタがない時に
だけ存在する見えないコンストラクタ〉だから、コンストラクタがあったら
ないし、あっても見えないから」
『ここに出てくるわけないね……』
「話を戻すと、このようにコンストラクタも、他のメンバ関数と同じように
オーバーロードすることができます」
『でも、コンストラクタって関数を呼ぶ、って感じじゃないからいまいち
実感が沸かないかも』
「それは言えるかもね。使用例はこうなります」

// 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 cData2( cData );
    // int 型引数を持つコンストラクタを呼び出します。
    CData cData3( 100 );
    // int 型引数2つを持つコンストラクタを呼び出します。
    CData cData4( 100, 200 );

    return 0;
}

「渡す初期値によって、コンストラクタが変わる感じかな」

・何も渡さない               → 引数のないコンストラクタ
・同じクラス                 → コピーコンストラクタ
・int型変数や整数リテラル    → 引数が int 型のコンストラクタ
・int型変数や整数リテラル2つ → 引数が int 型2つのコンストラクタ

「このように、何を渡すかによって呼ばれるコンストラクタが変わることに
なります」
『これも、他のオーバーロードと同じように、渡した型に近いものが選ばれ
るの？』
「そう。型が同じならその方、ないなら近い型のメンバ関数が呼ばれます。
どれか分からない場合にはコンパイルエラーになります」
『前回のと同じってわけね。……質問！』
「はい火美ちゃん」
『引数のないコンストラクタを呼んでる所って、こうじゃダメ？』

    // 引数のないコンストラクタを呼び出します。
    CData cData();

「だめなんです」

    CData cData();
    // コンパイルエラー：
    // error C2664: '__thiscall CData::CData(const class CData &)' : 
    // 1 番目の引数を 'class CData (__cdecl *)(void)' から 
    // 'const class CData &' に変換できません。 
    // 理由: 'class CData (__cdecl *)(void)' から 'const class CData' 
    // へは変換できません。
    // コンストラクタはソース型を持てません、またはコンストラクタの
    // オーバーロード レゾリューションがあいまいです。

『な、なんかよく分からないエラーが……』
「実際、これはできるようにして欲しかったんだけど、仕様上できないんだ
よね。だから諦めるしかないかな」
『むー……あ、もうひとつ質問！』
「はい火美ちゃん」
『 = 使ってもできるんだよね、コンストラクタ呼ぶの』
「はいできます」

// 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 cData2 = cData;
    // int 型引数を持つコンストラクタを呼び出します。
    CData cData3 = 100;
    // int 型引数2つを持つコンストラクタを呼び出します。
    CData cData4( 100, 200 );

    return 0;
}

「このように、引数がひとつのコンストラクタのみ、 = 演算子で初期化す
ることができます。してることは、さっきの例と同じだからね」
『これでコンストラクタが呼ばれるっていうのも不思議だよね……』
「 C++言語の仕様は不思議なところ多いからね」
『だよね、コピーコンストラクタだって、とっても特別なコンストラクタ
って気がするんだけど、なんか他のコンストラクタと同じような感じだよ
ね』
「そういうものが多いかも。普通のプログラムのように見えて、特別な意味
があるあるものとか」
『そういうのがよく分からない……』
「それはもう、片っ端から試してみて、コンパイルエラーを取り除きながら
憶えていくしかないかもね」
『う”……』

/*
    Preview Next Story!
*/
『こういう、特別な意味のって難しい……』
「普通のメンバ関数に見えるからね」
『そうそう。少し違うとダメだし、憶えてないといけないし』
「その一番典型的な例が演算子のオーバーロードかな」
『あーあれもよく分からなかった！』
「というわけで次回」
＜ Version 16.15 演算子のオーバーロードの復習 ＞
『につづく！』
「復習だけど、コンストラクタの例とかを踏まえつつ、だといいかも」
『そういえばそういうとこ似てる感じ……？』


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

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
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
*/
////////////////////////////////////////////////////////////////////

