2007年04月01日

c++ が分かる人向けオタク向け

ちょっと一般受けはしない説明なのですが。技術者向け、というか、オタク向けです。オタクでないあなたは、読み飛ばしてください。

c++ などに代表される Object Oriented 型の開発言語には、class とか instance という概念がありますね。

話は飛躍します。ついてきてくださいね。

dog は、class
a dog は、instance
the dog は、reference

ですね。

dog を、animal などの class を継承して dog という動物を特徴付けした class だと定義できます。定義の詳細な仕方は、ここでは議論しません。

a dog は、class である dog を具現化したものであり、まさに一匹の犬なわけです。話にでてくる一匹の犬かもしれないし、昨日見つけた一匹の犬かも知れないし、来月から飼う予定の一匹の犬かもしれません。

"I have a dog."

と言えば、 dog という class で定義された生き物、つまり犬を、一匹飼っている(持っている, have している)ということになります。 a dog は、具体的な一匹ですね。友達が:

"What is the name of the dog?"

と聞いてくるかもしれません。その時の、 the dog は、先ほど具体化した a dog ( つまり私の飼っている犬)を指す reference または pointer です。英語的には、前後関係でそれがはっきりしていれば it でも okay です。で、そのとき、その犬の名前を聞きたいとして:

"What is the name of a dog?"

と誰かが聞いてきたら、それは間違いです。 C++ programing でも、一度、出現した、具体化( instance ) したものを、それ以降に参照する場合は、reference を使いますよね。ここでもし再度 instance してしまうと、それ同じ class の別物になってしまいます。別の犬です。だから:

"What is the name of a dog?"

を言うと、まったく別の犬の話をしていることになるので、質問された犬は、

"Which dog ?"

という風に、話がかみ合わなくなります。 会話の中の、bug ですよ、bug。同じものは、一度しか instance しません。英語的に言うと、同じものは、一度だけしか a を使って紹介( instance ) しません。話題にでてきた後は、二度と a を使いません。

もちろん、人間ですから、instance したこと、話題に出たことを忘れることがあります。だから、そのときは、また、

"I have a dog, did I tell you that?"

とか、言うかもしれませんが。

"Yeah, I heard that before."

でも、 a fatal error ではないので、会話としては成り立つでしょう。誤解の確認をして、修正をする作業が入るだけです。会話なんて、そんな修正だらけのものなので、間違いはあまり気にしないでよいですがね。

ほら、すこーしオタク向けでしたね。そんな私は、ちなみに、C++ はかけません。オタクじゃないもんね。

Thanks for clicking on c++ が分かる人向けオタク向け for 人気ランキング!


楽しんでもらえたら ”人気blogランキング” を押してください。


目次に戻るなら、こちら
同じカテゴリー(英語を使う)の記事
プシュィーな奴
プシュィーな奴(2007-08-11 11:07)

うぃーぅLーsee
うぃーぅLーsee(2007-08-04 13:27)

2つあるでしょ?
2つあるでしょ?(2007-07-22 13:20)


Posted by kazunobu toguchi at 12:49│Comments(0)英語を使う
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 4人
オーナーへメッセージ