今、C++の勉強をして
いるのですが、
クラスで躓いています。
そこで、いくつか聞きたいことがあります。
・将来プログラマーを目指しているのであれば、クラスは必須ですか。
・クラスはどういうプログラムに適しているのか。7
よろしくお願いします。
クラスの長所
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: クラスの長所
クラスを始めとするオブジェクト指向はプログラミング言語の多くで取り入れらているので必須と言えると思います。・将来プログラマーを目指しているのであれば、クラスは必須ですか。
ただ、すべての仕事場でプログラマーが高レベルの理解度でクラス・オブジェクト指向を使いこなしているかは疑問視される所です。
だからって、手を抜いていい理由にはならないのですが。
プログラムの部品化・抽象化を得意とします。【補足】なので大規模プログラミングに適していると言えると思います。・クラスはどういうプログラムに適しているのか。
あとスマートポインタなど、プログラマーが失敗しやすい部分のフォローをしてくれる機能などを言語に追加した様に見せかけることができます。
私はクラス万能主義者ではありませんが便利なことは確かですね。
今クラスのどの様のようなことで躓いているか教えてもらえますか?
【追記】大層なことが言えるほど私も使いこなしているわけではありません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: クラスの長所
クラスの長所はsoftyaさんが言うようにオブジェクトの部品化・抽象化です。
C++の威力はある程度システムの規模が大きくならないと実感することは難しいでしょう。
部品化することによってシステムの拡張性が広がり、システムの変更や追加が非常に楽になります。
抽象化では重複するシステム(ゲームでいう自機の移動や敵の移動)などをまとめたりすることでコードを書く量を減らすことができます。
そういうことではクラス,引いてはオブジェクト指向は最適と言えるでしょう。
プログラマは「後々楽をするために今苦労する」そうですよ。
C++の威力はある程度システムの規模が大きくならないと実感することは難しいでしょう。
部品化することによってシステムの拡張性が広がり、システムの変更や追加が非常に楽になります。
抽象化では重複するシステム(ゲームでいう自機の移動や敵の移動)などをまとめたりすることでコードを書く量を減らすことができます。
そういうことではクラス,引いてはオブジェクト指向は最適と言えるでしょう。
プログラマは「後々楽をするために今苦労する」そうですよ。
Re: クラスの長所
純粋にクラスの長所を感じ取りたいならJavaとかC#を使う方がいいと思います。
JavaやC#はクラスが「参照型」です。本質的にはポインタと同じなのですが、ポインタを上手く隠した書き方になっています。
そして参照型であるクラスを使うと、クラスの継承などスムーズに扱うことができるようになります。
C++でオブジェクト指向をやる価値としては、過去の資産(C言語のライブラリなど)を使える、低レベルな記述(ポインタで細い操作をしたり)ができるといったことでしょうか。
純粋にオブジェクト指向プログラミングを学ぶ言語としてはC++は最適というわけではありません(と僕は思っています)。
JavaやC#などはクラスを基本単位として標準ライブラリが構成されています。いわゆるクラスライブラリです。
そのようなライブラリを用いて開発することでクラス化のメリットなどを少しは実感できるかもしれませんね。
JavaやC#はクラスが「参照型」です。本質的にはポインタと同じなのですが、ポインタを上手く隠した書き方になっています。
そして参照型であるクラスを使うと、クラスの継承などスムーズに扱うことができるようになります。
C++でオブジェクト指向をやる価値としては、過去の資産(C言語のライブラリなど)を使える、低レベルな記述(ポインタで細い操作をしたり)ができるといったことでしょうか。
純粋にオブジェクト指向プログラミングを学ぶ言語としてはC++は最適というわけではありません(と僕は思っています)。
JavaやC#などはクラスを基本単位として標準ライブラリが構成されています。いわゆるクラスライブラリです。
そのようなライブラリを用いて開発することでクラス化のメリットなどを少しは実感できるかもしれませんね。
Re: クラスの長所
返事が遅れました。
みなさんありがとうございます。
躓いているというより
クラスの必要性をあまり感じられなくなったので質問させていただきました。
今、クラスについて知識を深めることができたので
ここで終わりにします。
ありがとうございました。
みなさんありがとうございます。
躓いているというより
クラスの必要性をあまり感じられなくなったので質問させていただきました。
今、クラスについて知識を深めることができたので
ここで終わりにします。
ありがとうございました。