機械です。
※タイトルは、もはやナニを書いているの、自分でもわかりません。
> Javaの例がありましたが、Javaだと全部ポインタですからねぇ。
Javaが、オブジェクトは参照だけにして、大改造を行った理由については、
C++いじってみてようやく理解できました。
C++の、オブジェクトポインタの代入による暗黙のキャストは、無ければこまります
が、これが・・・せっかくのメソッドのオーバーロードがご破算になる、というわけの
わからんことになります。
古いメソッド定義の利用頻度と新しいメソッド定義の利用頻度、どっちが多いか、
考えたこと無かったんでしょうか・・・(汗)
オブジェクト指向的な考えなら、全てにvirtualキーワードを書くハメになること
くらい、容易に理解できると思うんですけどねぇ・・・
※JavaでもPythonでも、後発のC++系言語は、全て自動的にvirtualメソッドになる
ようになってますね・・・
private継承については、classの代わりにstructを使うと回避できますけどね。
> 最近お勧めの本とかありますか?逆にそれ以降の本は
> 全然読んでません・・・ってここはC++の部屋じゃないんでした。
「プログラミング言語C++」
もう、コレに尽きます。
値段とボリュームに圧倒されて、私も買うのをためらってましたが、思い切って
買ったら、結構利用してます。
特に、ストラウストラップ先生が、「この人、ホントはPascal信者じゃないかしらん」
と思えるような記述がちらほらあったり、「エレガントな記述(これも、Pascal信者
の常套文句)」という言い方をあちこちにしてたりと、なんとなくC++に対する感想が
違ってきます。
さらに、名前空間(Pythonでも非常に重要な概念ですが)についての考え方や、
コーディングスタイルのポリシー、constキーワードの活用など、C++としては
どちらかといえば地味な部分の重要性について、しっかり述べられています。
C++のありのままの姿を知りたいのなら、この本が一番お勧めです。
・・・ホント、高いけど・・・
> C++Builder は使いますけど、VCLの呪縛が結構きついので、
> すぐにObjectPascal的プログラムができてしまいます。
Pascalは好きですが、ObjectPascalはどうも苦手です。
ルールがあまりにも多い言語は、全体像が把握しにくいんですよね。
> > 複数のオブジェクトに一気にメッセージを送るシステムがあれば面白そう
> > ですけどね。
> >
> > そうなると、Forthのように後置式(RPN)にしたほうがいいみたいですね。
>
> おぉなるほど、とも思ったのですが、RPNだと演算子の嬉しさがかなり
> 減るような気もします。やっぱり数式っぽく見えることというのは、
> FORTRANの発明以来、大事なことなんじゃないでしょうかね。
長い式を見渡すとなると、確かにそうですよね。
考えながら逐次打ち込むには、RPNの方が、ずっと使いやすいと私は思いますが。
・・・特に携帯電話のおまけの電卓機能・・・RPNにしてくんないかな・・・
機械伯爵