////////////////////////////////////////////////////////////////////
…━ProxSystemDesign━━━━━━━━━━━━━━━━…

　BLOGの設置、データベース、高機能ショッピングカート
　設置で悩んでいませんか？

　安心のサポートで、月々10,290円。
　　専用レンタルサーバー『E-server』
　　　http://af1.mag2.com/m/af/0000008658/001/s00000001996001/008

…━━━━━━━━━━━━━━━━━━━━━━━━━…
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


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

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

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

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


2006/07/03 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
16.04 メンバのスコープ
16.05 ごく一般的なクラス
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


2006/06/30 (Fri)
　カブカテキョのサービスを終了いたしました。
http://www.kab-studio.biz/Katekyo/index.html


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

2006/06/25 (Sun)
　体力的にダウナー。午後はカブカテキョ。おしごとあと３日。今週も
ほとはー外伝３はお休み……。

2006/06/26 (Mon)
　ウィンドウ処理関係の講義。オブジェクト指向理解してないと難しい。
Ｓガストで癒されよう。

2006/06/27 (Tue)
　GUIのテスト。説明し忘れが……。JDBCの講義。明日が最終日。足が
パンパン。

2006/06/28 (Wed)
　今日が最終日。スケジュールがタイト過ぎて何も教えられなかった。
これまでとの違い。疲労も酷かった。メイン講師は楽しかったけど。
８月９月はおしごとなし。

2006/06/29 (Thu)
　横浜に行って色々購入。水泳ダイエット。バッティングセンターとか。
帰ってからは疲労でぐだー。これまでのおしごとのまとめ。楽しかった！

2006/06/30 (Fri)
　メインはカブカテキョ。カブカテキョは今日で終了。データとか。
困ったことベスト３。

2006/07/01 (Sat)
　午前中はアニメ観て以上。お昼にフットサルで両足ボロボロ。今日で
かぶスタ１１周年。そしてSDカードラジオ。


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

2006/06/25 (Sun)
http://d.hatena.ne.jp/kab_studio/20060625
起きたんす。
[KAB-studio]ぷらとわ追加。
[KAB-studio][ほとはー]ほとはー外伝３はお休みします。
[KAB-studio]ファビコン追加
[アニメ]「牙」 第13話「疾走する力」
[アニメ]おねがいマイメロディ〜くるくるシャッフル！〜 
　第13話「気づいてくれたらイイナ！
[アニメ]ひぐらしのなく頃に 第12話「祟殺し編　其ノ四　失しモノ」
[アニメ]西の善き魔女 第12話「真昼の星」

2006/06/26 (Mon)
http://d.hatena.ne.jp/kab_studio/20060626
起きた。
帰宅したですよ。
[アニメ]ARIA The NATURAL 第13話「その　でっかい自分ルールを…」
[アニメ]うたわれるもの 第12話「動揺」

2006/06/27 (Tue)
http://d.hatena.ne.jp/kab_studio/20060627
起きた。
帰ってきたんだ。
[アニメ]涼宮ハルヒの憂鬱 第12話「涼宮ハルヒの憂鬱V」

2006/06/28 (Wed)
http://d.hatena.ne.jp/kab_studio/20060628
起きた。
ちょお帰宅〜
[アニメ]桜蘭高校ホスト部 第13話「不思議の国のハルヒ」
[アニメ]ブラックラグーン 第12話「Guerrillas in the Jungle」(終)
[きらら]まんがタイムきららCarat 2006年8月号

2006/06/29 (Thu)
http://d.hatena.ne.jp/kab_studio/20060629
起きた。
やるきなー。
ばかばかばかー。
W-ZERO3 vs VAIO type U
[水泳ダイエット]始めます。
[買]横浜で買ってきたもの。
[アニメ]ゼーガペイン 第13話「新たなるウィザード」
[アニメ]感想追加

2006/06/30 (Fri)
http://d.hatena.ne.jp/kab_studio/20060630
起きた……
[アニメ]機神咆吼デモンベイン 第5話「THE SHADOW OVER INNSMOUTH」
[アニメ]ザ・サード 〜蒼い瞳の少女〜 第9話「パイフウ」
[アニメ]貧乏姉妹物語 第1話「浴衣と花火とりんご飴の日」(新)
[アニメ]感想追加
[きらら]感想追加

2006/07/01 (Sat)
http://d.hatena.ne.jp/kab_studio/20060701
起きた。
[アニメ]風人物語 第3話「ランニングガール」
[アニメ]彩雲国物語 第13話「瓢箪から駒」
[アニメ]ふしぎ星の☆ふたご姫 Gyu! 第14話「ミステリーツアー☆開かずの扉のナゾ」
[アニメ]ウィッチブレイド 第12話「囚」
[アニメ]おとぎ銃士 赤ずきん 第1話「赤ずきんがやってきた」(新)
[link]ニンテンドーDSブラウザー(ニンテンドーDS Lite用)(仮称)
ああああ。


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

■追加・更新単語

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


////////////////////////////////////////////////////////////////////
…━ProxSystemDesign━━━━━━━━━━━━━━━━…

　BLOGの設置、データベース、高機能ショッピングカート
　設置で悩んでいませんか？

　安心のサポートで、月々10,290円。
　　専用レンタルサーバー『E-server』
　　　http://af1.mag2.com/m/af/0000008658/001/s00000001996001/008

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

　Version 17.09
継承とオーバーライド

「前回は、継承関係にあるポインタのキャストについて説明しました」
『結構驚いたかもあれは……』
「これはあとで使うから憶えておいてもらうとして、今回からは、継承で最
も重要な機能【オーバーライド】について説明します」
『あれ？　前に一度教わったよーな』
「 Version 3.23 ( No.048 ) で一度説明したけど、あの時は、前回の説明
で出てきた CDialog とダイアログクラスとの関係が中心だから、今回のと
はちょっと違うかな」
『どんなふうに？』
「今回の方がより基本的で重要、って所かな」
『重要……』
「というわけで、また一からオーバーライドについて説明します。まず
最初に断っておくと、オーバーロードとは違うからね」
『 Version 11.19 ( No.219 ) や Version 16.13 ( No.340 ) でやったのだ
ね。つかついこの前しっかり教わったし。あれとは違うの？』
「名前は似てるけど全然別物。だから混乱しないようにね」
『オーバーロードとは別、オーバーロードとは別、と』
「ではオーバーライドは何かっていうと、簡単に言うと」

・基本クラスのメンバ関数を、派生クラスで上書きする。

「ことをいいます」
『どゆこと？　上書き？』
「つまり基本クラスに元々あるメンバ関数を、派生クラスで作り直すって
こと。ま、これは実際に試してみた方が早いかな。以下の例は、 
CData クラスの Output() メンバ関数を、 CDerivedData クラスで
オーバーライドしている例」

// 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" );
}

『あれ？　結構あっさりしているような……』
「うん、オーバーライドには特別な文法はないんです。ただ単に基本クラス
と全く同じ名前・引数・戻り値のメンバ関数を作ればいいだけ」

// CData クラス。
class CData
{
public:
    void Output();    // ←このメンバ関数と、
};

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

『これだけでオーバーライドできるんだ』
「それ以外は普通のメンバ関数を作るのと同じ。特別な文法は必要ありませ
ん」
『同じ名前・引数・戻り値のメンバ関数を作るだけ、と』
「さて、このようにオーバーライドすると、基本クラスのメンバ関数ではな
く派生クラスのメンバ関数が呼び出されるようになります。というわけで
使用例はこんな感じ」

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

『なるほど、 CData クラスの時は CData クラスのが呼ばれて、』

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

『 CDerivedData クラスの時は CDerivedData クラスのが呼ばれるってわけ
ね』

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

「このように、オーバーライドをすることで基本クラスのメンバ関数ではな
く派生クラスのメンバ関数が呼ばれるようになるわけです」
『ってことはオーバーライドされちゃった方はなくなっちゃうの？』
「ううん、なくならないよ。オーバーライドした方からオーバーライドされ
た方を呼び出す場合には、以下の文法を使用します」

基本クラス名::オーバーライドされたメンバ関数();

「たとえば以下のように呼び出します」

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

    // 基本クラスの Output() メンバ関数を呼び出します。
    CData::Output();
}

「この〈 CData::Output(); 〉の箇所がそう。こうすることで出力結果が
以下のように変わります」

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

「つまり、オーバーライドした CDerivedData クラスの 
Output() メンバ関数が先に呼び出されて、その中で オーバーライドされた
CData クラスの Output() メンバ関数が呼び出される、というわけです」
『ちょっと待った！　質問質問！』
「はい火美ちゃん」
『えっと、まず』

    CData::Output();

『これって Version 16.26 ( No.353 ) の static メンバ関数の呼び方と似
てるんだけど』
「似てるけど全然別物です。これは分かりにくいけど、 static メンバ関数
とは全く関係ないから」
『わかりにけー！！　もひとつ質問！』
「はい火美ちゃん」
『これってこれまで何度も出てきた、たとえば Version 14.31 ( No.298 ) 
の……』

BOOL CSearchingDlg::OnInitDialog() 
{
    CDialog::OnInitDialog();
// 略

『なんかのも同じ？』
「そう同じ。この例は、 CSearchingDlg クラスで CDialog クラスの 
OnInitDialog() メンバ関数をオーバーライドしているんです」
『で、この中で基本クラスの、つまり CDialog クラスの 
OnInitDialog() メンバ関数を呼び出している、と』
「これはよく使うパターンなんです。たとえば〈基本クラスのメンバ関数が
行う【基本の機能】をちょっとだけ拡張したい〉場合は」

// 派生クラスの Output() メンバ関数。
// オーバーライドしています。
void CDerivedData::Output()
{
    // 【基本の機能】の前にしたい処理を書きます。

    CData::Output();    // 【基本の機能】を行います。

    // 【基本の機能】の後にしたい処理を書きます。
}

「こうすれば、元々のメンバ関数が持っていた【基本の機能】の前後に処理
を加える、ってできるでしょ」
『つまり、こうすればオーバーライド前のメンバ関数を完全に上書きしない
でちょっとだけ拡張できる、ってわけね』
「そういうこと。 MFC だとこういう利用法の方が多いかな」

/*
    Preview Next Story!
*/
『んー、でもオーバーライドってあんまりメリット感じないかも』
「そう、この段階だとまだ全然メリットがないんです」
『この段階？』
「実は、仮想関数っていうのにすると話が全然違ってくるんです」
『かそーかんすう？』
「というわけで次回」
＜ Version 17.10 仮想関数 ＞
『につづく！』
「ここからがこの章の面白いところだから」
『面白い……？』


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

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

