////////////////////////////////////////////////////////////////////
◎ ≪---= 業務用小型ダーツマシン「ダーツイーグル」

こんなに小さくても立派な業務マシン！
ダーツマシン設置でちょっとしたお小遣い稼ぎ。

できるだけ省スペースで、安価に置けるダーツマシンが↓ここ↓にあります。
『大阪ギフトショー新製品コンテスト大賞受賞！』
http://af1.mag2.com/m/af/0000008658/001/s00000001980002/006
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


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

    送信日： 2006/07/10(Mon) No.365
    配信数： 1741
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

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

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


2006/07/10 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
16.06 インラインメンバ関数
16.07 ポインタと参照のおさらい
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


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

2006/07/02 (Sun)
　今日一日中、筋肉痛。夕方までカブカテキョ関係。ようやく色々とこなせ
てきた。

2006/07/03 (Mon)
　１０時半までほとはー外伝３描き。筋肉痛でまったり。ビデオのダビング
や野菜スープ作りとか。おしごと関係も。今週はまったりで行こう。

2006/07/04 (Tue)
　横浜でおしごと関係の本をチェック。今回は案件が特殊なので。帰ってか
ら昼寝。明日くらい泳いできたい。

2006/07/05 (Wed)
　プール行こうと思ったら雨が。パスタ作り。完全に駄目な日。

2006/07/06 (Thu)
　午前中は洗濯。１時半頃にプールへ。帰ってからはぐだー。今週はなんか
怠惰すぎる。

2006/07/07 (Fri)
　ペンディングがほぼ完了。あとは粗大ごみを出せれば。ぷらとわ２話と
ほとはー外伝３をちょっと。あとラクガキ。このくらいは１時間くらいで。
おしごとしてるときと今と。

2006/07/08 (Sat)
　午前中はだらーっと。午後はほとはー外伝３。比較的余裕。７時半に
プール。


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

2006/07/02 (Sun)
http://d.hatena.ne.jp/kab_studio/20060702
起きた。
[KAB-studio]ぷらとわ追加。
[カブカテキョ]カブカテキョ終了のおしらせ
[KAB-studio][ほとはー]ほとはー外伝３ P.64
[アニメ]感想追加。
[アニメ]感想追加2。
[アニメ]「牙」 第14話「力の誘」
[アニメ]おねがいマイメロディ〜くるくるシャッフル！〜 
　第14話「お行儀よくなったらイイナ！」
[アニメ]ひぐらしのなく頃に 第13話「祟殺し編　其ノ伍　謝罪」
[アニメ]西の善き魔女 第13話「大事なもの、守りたいもの」(終)
[アニメ]プロダクションＩ・Ｇ最新作“シュヴァリエ”スペシャル
[アニメ]シュヴァリエ 第1話「デオン・リア」(新)

2006/07/03 (Mon)
http://d.hatena.ne.jp/kab_studio/20060703
起きた。
[アニメ]感想追加
[アニメ]ARIA The NATURAL 第14話「その　いちばん新しい想い出に…」
[アニメ]ゼロの使い魔 第1話「ゼロのルイズ」(新)

2006/07/04 (Tue)
http://d.hatena.ne.jp/kab_studio/20060704
起きた。
帰ってきた。
[アニメ]涼宮ハルヒの憂鬱 第14話「涼宮ハルヒの憂鬱VI」(終)
[アニメ]つよきす Cool×Sweet 第1話「よろしくッ！近衛素奈緒です！」(新)
[link]W-ZERO3[es]
[link]JR東日本、
　「遅延証明書」をWebサイトで発行するサービスを今年度中に開始

2006/07/05 (Wed)
http://d.hatena.ne.jp/kab_studio/20060705
起きた。
[アニメ]桜蘭高校ホスト部 第14話「噂のホスト部を取材せよ」
[食][パスタソース]プチパスタ ジェノベーゼ

2006/07/06 (Thu)
http://d.hatena.ne.jp/kab_studio/20060706
起きた
泳いできた！
[水泳ダイエット]初めて泳いできました。
[食][パスタソース]プチパスタ アマトリチャーナ
[アニメ]内閣権力犯罪強制取締官 財前丈太郎 第1話「追跡者…チェイサー」
[アニメ]ゼーガペイン 第14話「滅びの記憶」

2006/07/07 (Fri)
http://d.hatena.ne.jp/kab_studio/20060707
起きた
[アニメ]機神咆吼デモンベイン 第6話「QUO VADIS」
[アニメ]ザ・サード 〜蒼い瞳の少女〜 第10話「砂漠の墓碑」
[アニメ]無敵看板娘 第1話「無敵看板娘」
[アニメ]無敵看板娘 第2話「もう一人の看板娘」
[link]七夕
[link]ウクレレ
[食][パスタソース]ポモドーロパスタソース トマト&ガーリック
[link][絵]はてなTシャツ欲しい！

2006/07/08 (Sat)
http://d.hatena.ne.jp/kab_studio/20060708
起きた
[アニメ]風人物語 第4話「どんぐりはムササビ」
[アニメ]おとぎ銃士 赤ずきん 第2話「魔法少女 白雪姫」
[アニメ]彩雲国物語 第14話「石の上にも三年」
[アニメ]ふしぎ星の☆ふたご姫 Gyu! 
　第15話「トーマの陰謀☆ステージの甘い罠！」
[アニメ]ウィッチブレイド 第13話「別」
[食][パスタソース]トッピング・鶏の胸肉
[水泳ダイエット]7月2回目


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

■追加・更新単語

（今週の追加はありません）


////////////////////////////////////////////////////////////////////
◎ ≪---= 業務用小型ダーツマシン「ダーツイーグル」

こんなに小さくても立派な業務マシン！
ダーツマシン設置でちょっとしたお小遣い稼ぎ。

できるだけ省スペースで、安価に置けるダーツマシンが↓ここ↓にあります。
『大阪ギフトショー新製品コンテスト大賞受賞！』
http://af1.mag2.com/m/af/0000008658/001/s00000001980002/006
////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 17.10
仮想関数

「前回はオーバーライドについて説明しました」
『基本クラスのメンバ関数を、派生クラスで上書きできるって機能だったよ
ね』
「そう、オーバーライドを使うことで基本クラスのメンバ関数を修正したり
拡張したりできるわけです」
『……でもさ、水希ちゃんが言うほど重要な機能って気がしないよーな』
「今はまだね」
『実はビックリするようなのがあったりする？』
「あるんです、実は。今回はそのための機能のひとつ、【仮想関数】につい
て説明します」
『かそうかんすう？』
「そう。仮想関数というのは、ちょっと特殊なメンバ関数です。まず、
仮想関数を使用しない場合の例から」


// Data.h

// CData クラス。
class CData
{
public:
    void Output();
};

// CData クラスの派生クラス。
class CDerivedData : public CData
{
public:
    // 基本クラスの同名メンバ関数を、オーバーライドしました。
    void Output();
};


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

#include "Data.h"

// 基本クラスの Output() メンバ関数。
void CData::Output()
{
    OutputDebugString( "CData::Output()\n" );
}

// 派生クラスの Output() メンバ関数。
// オーバーライドしています。
void CDerivedData::Output()
{
    OutputDebugString( "CDerivedData::Output()\n" );
}


// 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.Output();
    // CData::Output()

    // CDerivedData クラスを使用します。
    CDerivedData cDerivedData;
    cDerivedData.Output();
    // CDerivedData::Output()

    return 0;    // ここにブレークポイントをセット。
}


『うん、別に普通だね』
「で、【ここにブレークポイントをセット。】でブレークポイントをセット
して、実行してみて」
『ほい。で？』
「 cDerivedData 変数を変数ウィンドウで見てみて」
『ほい。……【{...}】しかないよ』

- cDerivedData  {...}
     CData     {...}

「うん、それを確認して欲しかったんです」
『？？？　あ、これが仮想関数っていうのに継ながる？』
「そういうこと。では、仮想関数というものを作ってみます」
『おおー』
「って言っても、実はほんのちょっと追加するだけだけど」

// Data.h

// CData クラス。
class CData
{
public:
    // Output() メンバ関数を、仮想関数にします。
    virtual void Output();
};

// CData クラスの派生クラス。
class CDerivedData : public CData
{
public:
    // 基本クラスの同名メンバ関数を、オーバーライドしました。
    void Output();
};

『なんかほとんど変わってない……』
「追加したのは、【virtual】っていう単語」

     追加
       ↓
    virtual void Output();

「このように、メンバ関数の前に virtual をつけると、そのメンバ関数は
【仮想関数】になります」
『メンバ関数ではあるんだよね』
「そう、メンバ関数のちょっと特殊なもの、それが仮想関数」
『普通の関数は仮想関数にならないの？』
「ならないんです。それは仮想関数の仕組みが解れば分かるかな」
『そうそう、結局仮想関数ってなんなの？　どういうメリットがあるの？』
「メリットは次回説明するとして、まずは仮想関数がなんなのか、という点
を説明します。まず、さっきと同じようにブレークポイントで止めて」
『ほい』
「で、変数ウィンドウで cDerivedData 変数の中を見てみて」
『って、メンバ変数は追加してないんだから変わらないんじゃ……あれ？　
なんか変なのが追加されてる！』

- cDerivedData  {...}
  - CData     {...}
    - __vfptr  0x0042c13c const  CDerivedData::`vftable'
        [0] 0x00401050 CDerivedData::Output(void)

「実は、仮想関数がひとつでもあると、この __vfptr というメンバ変数が
自動的に作られるんです」
『メンバ変数が自動的に作られる？？？』
「このメンバ変数は【仮想関数ポインタ】っていう特殊なポインタです。
__vfptr は Virual Function PoinTeR の略です」
『仮想関数ポインタ、そのままね』
「このポインタは、【仮想関数テーブル】っていう配列の変数 vftable を
指しています」
『！？　ちょ、ちょっと待った、分からなくなったんだけど』
「図にするとこんな感じ」

┌───────┐
│ cDerivedData │
│ ┌────┐ │
│ │ cData  │ │
│ │        │ │
│ │ __vfptr→→→→→
│ └────┘ │    ↓
└───────┘    ↓
                      ↓
       ←←←←←←←←
      ↓
      ↓
    vftable
  ┌─────────────────┐
 0│CDerivedData::Output()のアドレス  │
  └─────────────────┘

「まず、基本クラスは派生クラスの中に入っている、っていうのは説明した
よね」
『 Version 17.02 ( No.357 ) で教わったよ』
「 __vfptr メンバ変数は、仮想関数のあるクラスに作られます。この
メンバ変数は配列へのポインタで、外にある vftable っていう配列の
アドレスを格納しています」
『それが vftable 、仮想関数テーブルね。でもなんか、中に関数が入ってる
けど……』
「仮想関数テーブルは、普通の配列じゃないんです。実は、仮想関数の
ポインタを格納した配列なんです」
『仮想関数、ってことはメンバ関数のポインタ！？』
「そう、 virtual を指定したメンバ関数のポインタが、この配列の中に
入れられるんです」
『？？？？？』
「……ちょっと難しいね、というわけで続く！」

/*
    Preview Next Story!
*/
『わけわかんねー！』
「ちゃんと次回説明するから！」
『……なんか嫌な予感するなー』
「な、なに？」
『すっごく難しい話になりそうな予感』
「というわけで次回」
＜ Version 17.11 仮想関数テーブルって？ ＞
『につづく！』
「だいじょうぶだよ、そんなに複雑じゃないし、それに面白いよ？」
『プログラミングが面白いわけねー！！』
「ええっ！？」


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

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

