自分もついにC++を使わないといけない情勢に
Cができれば、作りたいものは作れるからいいや。なんて思ってたけど
会社に入ると開発にはC++つかってるし、さすがにC++を知らないのでできませんと言うわけにはいかない
ということで勉強中
とりあえずC++だと、大きくクラス、継承、ポリモーフィズムって機能が大きく追加されたんだね。
で、まずはクラスについて勉強
クラスはオブジェクト指向ができてないとかけない。
なんていう噂を常に聞き続けてたからすごい難しいんだろうなぁ・・・なんておもってた
でも実際やってみると全然難しくない
というかどこが難しいのかよく分からなかった
自分の場合のクラス理解までの順番
①ある程度データまとめて構造体で管理したいなぁ
②構造体のデータいちいちひっぱって関数つくるのめんどくさいなぁ
③構造体を扱う関数作っても、この関数を他のいろんな関数で汎用的につかうと、何のために作った関数か管理できなくなってくるなぁ
④関数を構造体を関連付けしたり、フォルダみたいに階層的に扱うとかできたらいいなぁ
⑤C++だとクラスの中に関数いっぱい入ってるけど、構造体の中にもかけるのかな
⑥書いたらコンパイルできた!
ってことで、必要に応じて書いてみたら、うまくうごきました。ってことです。
この考え方で書いた構造体は、オブジェクト指向で書いた構造体ってことになるんじゃないかな
で、構造体のメンバをあえて保護したいときはprivateとかつけてみたり、structをclassに変えればクラスのできあがり
でも実際、クラスと構造体の違いはほとんどなくて、
クラスだとデフォルトで宣言した変数がprivate、構造体だとpublicになってるってだけ
まずは、いきなりクラスを勉強するんじゃなくて、構造体を作って、構造体のメンバをいじるプログラム、例えば循環キューとかつくってみたら理解もはやいんじゃないかな
まぁ自分はAction Scriptとかいじったことあったから、理解早かったのかもしれないけど・・・
PR