////////////////////////////////////////////////////////////////////
┏　 ───　▼　キャンペーンへのご参加はこちら！　▼　─── 　┓

           　   http://af1.mag2.com/m/af/0000008658/001/s00000001423001/034

┗ あなたにベストマッチの転職情報をゲットしよう！キャンペーン！ ┛
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


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

    送信日： 2006/05/29(Mon) No.359
    配信数： 1756
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

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

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

2006/05/29 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
15.21 「プロジェクトの設定」コンパイル編(1)
15.22 「プロジェクトの設定」コンパイル編(2)
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


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

2006/05/21 (Sun)
　８時に起きられない……。一日中調子よくない。夕方からほとはー外伝３
をだらだと。残り３日の予定。JavaA2Zの単語追加忘れてる。

2006/05/22 (Mon)
　風邪引いたかも？　午前中から午後までカブカテキョ。夕方はダビング。
ペンディングが掃けたんで楽に。以前の緊張を忘れてる。

2006/05/23 (Tue)
　９時起き。なんか首や肩が痛い。ほとはー外伝３のネーム切り。あとは
バックアップ関係とか。サーバー落ちてた……。

2006/05/24 (Wed)
　７時に起きられない。午前中はクリーニングや食材購入。午後は受業の
準備。講師先Ｂ社の内容。あとはバックアップ取ったりとか。

2006/05/25 (Thu)
　講師先Ｂ社でのおしごと開始。サブ講師のおしごと。生徒憶えられない。
帰ってくると疲労度が……。

2006/05/26 (Fri)
　講師先Ｂ社の２日目。６時に上がって渋谷へ。次に新宿へ。高い天丼。
ひぐらしオープニング重複。

2006/05/27 (Sat)
　昨日夜から今朝にかけて５回は目が覚めた。午後まではおしごと関係で
J2EEデプロイツール。午後はぐだー。なんか頭痛いし。


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

2006/05/21 (Sun)
http://d.hatena.ne.jp/kab_studio/20060521
お、起きた……。
[KAB-studio]ぷらとわ追加。
[KAB-studio][ほとはー]ほとはー外伝３ P.62
[アニメ]おねがいマイメロディ〜くるくるシャッフル！〜 
  第8話「タコヤキが食べれたらエエな！」
[アニメ]「牙」 第8話「裏切りの行方」
[アニメ]ひぐらしのなく頃に 第7話「綿流し編　其の参　嘘」
[アニメ]西の善き魔女 第7話「亡き王女のための孔雀舞」
[食][パスタソース]ミートソースミルポア入り
[食][パスタソース]ドライトマト
[食][パスタソース]パスタソースについてまとめていきます

2006/05/22 (Mon)
http://d.hatena.ne.jp/kab_studio/20060522
起きたー。
[食][パスタソース]トマト&バジル
[アニメ]ARIA The NATURAL 第8話「その　ボッコロの日に…」
[アニメ]Fate/stay night 第20話「遠い夢跡」
[アニメ]うたわれるもの 第7話「皇都侵攻」

2006/05/23 (Tue)
http://d.hatena.ne.jp/kab_studio/20060523
起きた。
[食][パスタソース]７種の野菜の旨味が決め手のポモドーロ
[KAB-studio][JavaA2Z]再起動します。
[食][link]ネスカフェ スパークリング・カフェ
[アニメ]涼宮ハルヒの憂鬱 第8話「孤島症候群(後編)」

2006/05/24 (Wed)
http://d.hatena.ne.jp/kab_studio/20060524
起きた。
[買]本屋で買ってきたコミックス。
[アニメ]桜蘭高校ホスト部 第8話「太陽と海とホスト部」
[アニメ]ブラックラグーン 第7話「Calm Down, Tow Men」

2006/05/25 (Thu)
http://d.hatena.ne.jp/kab_studio/20060525
起きた。
帰宅ー。
[アニメ]錬金3級 まじかる？ぽか〜ん 第16話「夢の呪文は一日だけの魔法」
[アニメ]ゼーガペイン 第8話「水の向こう側」

2006/05/26 (Fri)
http://d.hatena.ne.jp/kab_studio/20060526
起きた……。
ただいまっす。
[買]とらのあなで購入したもの
[Prog][JavaA2Z]メッソド。
[アニメ]機神咆吼デモンベイン 第2話「EVIL SHINE」
[アニメ]ザ・サード 〜蒼い瞳の少女〜 第6話「大地に吹く風」

2006/05/27 (Sat)
http://d.hatena.ne.jp/kab_studio/20060527
起きたっすよー。
やっとメンテナンス終わったか。
[アニメ]彩雲国物語 第8話「猫の手も借りたい」
[アニメ]ふしぎ星の☆ふたご姫 Gyu! 
  第9話「宇宙をこえて☆遠足サバイバル」
[アニメ]ウィッチブレイド 第8話「互」
[アニメ]感想追加。
「うたわれるもの」Amazonで予約開始……なんだが。
あー
[買]Amazonから届いたもの
2枚目……。 
[きらら]まんがタイムきららCarat 2006年7月号
[C70]夏コミ受かりました！！


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

┗ あなたにベストマッチの転職情報をゲットしよう！キャンペーン！ ┛
////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 17.04
アクセス修飾子のまとめ

「前回は protected について説明しました」
『派生クラスからアクセスできるのが protected 、できないのが private 、
全部OKが public ……ややこしー』
「そこで、今回は全部まとめてみます」
『おお』
「まず、メンバが〈どこからアクセスできるか〉を指定する public 、 
private 、 protected を【アクセス修飾子】とか【アクセス指定子】とい
います」
『あくせすしゅうしょくし、ね』
「これらを使用することで、メンバ変数やメンバ関数がどこから使えるのか
を指定することができます。表にすると、以下のようになります」


■ public のアクセス範囲
○以下の箇所からアクセスできます。
・あらゆるメンバ関数
・あらゆる関数

○以下の箇所からはアクセスできません。
・アクセスできない箇所はありません


■ protected のアクセス範囲
○以下の箇所からアクセスできます。
・自クラスのメンバ関数
・派生クラスのメンバ関数

○以下の箇所からはアクセスできません。
・派生クラス以外の他クラスのメンバ関数
・通常の関数


■ private のアクセス範囲
○以下の箇所からアクセスできます。
・自クラスのメンバ関数

○以下の箇所からはアクセスできません。
・（派生クラスを含む）他クラスのメンバ関数
・通常の関数


「次は図で見てみます。たとえば、以下のクラスがあるとします」

// CData クラス。
class CData
{
public:
    int m_iPublic;
protected:
    int m_iProtected;
private:
    int m_iPrivate;
};

『……そういえば、アクセス修飾子って、全部【 p 】から始まるんだね』
「だからちょっと紛らわしいかも……それは置いといて、アクセスできる
範囲を図にすると以下のようになります。以下の図は、」

・CData クラスのメンバ関数
・CData クラスの派生クラスのメンバ関数
・まったく関係ないクラスのメンバ関数
・ただの関数

「から、」

CData クラスのメンバ変数
・m_iPublic
・m_iProtected
・m_iPrivate

「にアクセスできるか、という図です。アクセスできたら○、できなかった
ら×です」


┌──────────────┐
│   CData クラスの派生クラス │
│ ┌────────┐       │
│ │CData クラス    │       │
│ │                │       │
│ │ ○m_iPublic    │       │
│ │ ○m_iProtected │       │
│ │ ○m_iPrivate   │       │
│ └────────┘       │
│    ○m_iPublic             │
│    ○m_iProtected          │
│    ×m_iPrivate            │
└──────────────┘

┌──────────────┐
│   まったく関係ないクラス   │
│                            │
│  ○m_iPublic               │
│  ×m_iProtected            │
│  ×m_iPrivate              │
└──────────────┘

┌──────────────┐
│   ただの関数               │
│                            │
│  ○m_iPublic               │
│  ×m_iProtected            │
│  ×m_iPrivate              │
└──────────────┘


『これだと一目瞭然ねー。 public はどこからでも、 private は自クラス
だけ、 protected はその中間、ってわけね』
「そういうこと」
『……で、具体的な使い分けってどうすればいいの？　メンバ変数は 
private にするとか、メンバ関数は public にするとかはわかるけど』
「そうだね、使い分けは以下のような感じかな」


■メンバ変数
・普通：
→ private

・派生クラスから使えるようにしたい場合：
→ protected


■メンバ関数
・外から呼び出す場合：
→ public

・派生クラスからのみ呼び出せるようにしたい場合：
→ protected

・自クラスでの処理専用：
→ private


『むむむ、質問！』
「はい火美ちゃん」
『派生クラスから使うからメンバ変数を protected にする、っていうのは
イカンと思います！』
「だね、カプセル化の考えと反するからね」
『うんうん』
「これが許されるのは、基本クラスと派生クラスを一緒に作るような場合か
な」
『どゆこと？』
「基本クラスと派生クラスはあくまでペア。他の派生クラスを作ることや、
基本クラス単体で使うことを想定していなくて、基本クラスと派生クラスを
ひとつのクラスと考えるような場合、とか」
『ひとつのクラスだからメンバ変数に直接アクセスできてもいい、と』
「そういうこと。でも気になるのは重要だから、気になる場合にはメンバ変数
は private にしてアクセサ作って」
『それを派生クラスから呼び出せばいいわけね。そのアクセサを protected に
すればいい、と』
「そうすればメンバ変数のカプセル化は守られるからね。そっちの方が推奨
かも」
『んじゃそうする。メンバ関数は……こっちはいいかな』
「ただ、メンバ関数の方について注意点がふたつ。まず、 protected は限
りなく public に近い、と考えてください」
『ええっ？　それって違くない？　private に、派生クラスから使えるって
いうのが加わったのが protected じゃない』
「そうなんだけど、その許可がとても大きいんです。 private だと、
自クラス以外からは絶対にアクセスできません。たとえ派生クラスでも」
『うん、さっきの m_iPrivate メンバ変数も自クラス以外からは絶対に使え
なかったもんね』
「でも、それが protected になると話が違うんです」
『？　派生クラスからアクセスできるようになったってだけじゃん』
「それがとても大きいんです。前回の SetData() メンバ関数の例を思い出
して」
『んー、基本クラスの m_iData メンバ変数は protected で、派生クラスの
SetData() メンバ関数からはアクセスできた、けど外の WinMain() 関数か
らはアクセスできない、だよね』
「でも WinMain() は SetData() にはアクセスできるでしょ」
『そりゃ public だから……あ』
「つまり、 protected メンバにアクセスできる public なメンバ関数を
派生クラスで作っちゃうと、実質的に protected メンバが public メンバ
になっちゃう、ってことなんです」


┌──────────────┐
│   CDerivedData             │
│ ┌────────┐       │
│ │CData           │       │
│ │                │       │
│ │m_iData ×←←←←←←←←←← WinMain()
│ │  ○            │       │        ↓
│ │  ↑            │       │        ↓
│ └─↑──────┘       │        ↓
│     ↑                     │        ↓
│   SetData()←←←←←←←←←←←←←←
└──────────────┘


「こんな感じに、 WinMain() は直接 m_iData に値をセットできなくても、
SetData() メンバ関数を通せば間接的に値をセットできてしまうんです」
『つまり protected が public に……』
「派生クラスは自由に作れるから、たとえば……」

・CData クラスの m_iData メンバ変数にアクセスできなくて不便だなぁ
↓
・あ、 m_iData メンバ変数は protected だ
↓
・CData クラスの派生クラス作っちゃおう
↓
・そのクラスで m_iData の getter と setter を作っちゃおう
↓
・そうしたら実質的に m_iData が外からアクセスできるように！

『げげげげげ！』
「こういうことができちゃうのが protected 、できないのが private 。
この差はとても大きいってこと」
『だから protected は public に近い、ってわけね……』

/*
    Preview Next Story!
*/
『 protected は private 寄りじゃなくて public 似……むつかしい』
「シンタックスとセマンティクスの違いは難しいかもね」
『し、しんた……？？？』
「次回は分かりやすい CWnd クラスの話」
『あ、分かりやすそう』
「というわけで次回」
＜ Version 17.05 CWnd クラスの継承関係 ＞
『につづく！』
「分かりやすいのうれしい！　 MFC 万歳！！」
『そ、そんなに！？』


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

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

