
今まで(3年ぐらい)は,ずっとC言語を勉強してきました.
C言語だったらある程度のプログラムは書けると思います.
ただ,来年からC++ を使わなくてはならなくなってしまい
ました...
CとC++との間には一体どういった違いがあるんでしょうか?
よく耳にするのが「オブジェクト指向か,そうではないか」
ということです.
オブジェクト指向...,良く分りません.一体どういう
ことなんでしょうか.
なるべく詳しく教えていただけると助かります.また参考書
やサイトなどを教えていただいても構いません.
よろしくお願いいたします.
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
オブジェクト指向というのはプログラムコードだけの問題ではありません。
極端な話、Cでもオブジェクト指向なプログラムコードを記述することは不可能ではありません。
現に初期のC++はCのプリプロセッサであり、最終的にはCでコンパイルされていました。
名前を見ていただければわかると思いますが、初期のC++は「まだC」であり、「Cを超えるもの」ではありません。
(標準C++以降のC++は多少マトモなオブジェクト思考的進化を遂げています)
本来、オブジェクト指向は「システムのあり方」までも含む壮大な概念です。
言語のみを学んでもオブジェクト指向を理解したとはいえないでしょう。
ですから、SmallTalkをはじめとする『まっとうな』オブジェクト指向言語はインタプリタないしはそれに順する実行環境を必要とします。
Javaしかり、C#しかり。
しかし、「言語から入る」というアプローチは学び方として「あり」です。
(壮大な概念であることを理解した上なら)
「憂鬱なプログラマのためのオブジェクト指向開発講座―C++による実践的ソフトウェア構築入門」(翔泳社 ISBN: 4881356194)はC++を使ってオブジェクト指向を解説する珍しい良書です。
C++の文法書ではないのでC++については他の書籍で知識を補完する必要がありますが、「言語から入るアプローチ」には最適な一冊です。
参考URL:http://www.seshop.com/detail.asp?pid=108

No.3
- 回答日時:
私は一度Javaを習ってから、C++を理解した方が、
オブジェクト指向が分かりやすいと思います。
Java言語はマクロと考えている人もいますが、
1週間で理解できるオブジェクト指向言語です。
SmallTalkもオブジェクト指向言語ですが、Javaほど普及していません。
C++を単にC言語の延長線上と考えると
なかなかオブジェクト指向に移れません。
オブジェクト指向によるメリットは、一般的には、再利用?(継承)です。
私は、変数と処理の関連性が、分かりやすくて良いと思います。
CとC++との間の違いは、オブジェクト指向以外には、enumですが、これを使うと大容量データベースに関して処理アルゴリズムが高速化できるし、#defineと異なり有効範囲(スコープ)が指定できるメリットもあります。その他、いろいろとあったと思います。
※すみませんが、所々で用語が間違っているかも知れません。
うまく説明できませんが、いくつか作って慣れてくると分かってきます。
No.2
- 回答日時:
オブジェクト指向 プログラミング入門
トッパン 1992年
ティモシイ A.バッド 著
これを薦めます。
最初にC言語が習慣になると
なかなかオブジェクト指向の
C++のプログラミングには移れないかも知れませんね。
私の場合は、気がつくとまるで
C言語のようなC++のプログラミング
なんてことがよくありました。
頑張って下さい。
No.1
- 回答日時:
C++は、ただCを拡張した言語です。
「C++」=「オブジェクト指向」ではありません。
実際、C++では全然オブジェクト指向ではないプログラムを作ることができます。
徹底的にオブジェクト指向にこだわった言語に「Smalltalk」というものがあります。
次のページはSmalltalkを使用してオブジェクト指向を解説しているページです。
参考にしてください。
http://www.ogis-ri.co.jp/otc/hiroba/technical/Sq …
参考URL:http://www.ogis-ri.co.jp/otc/hiroba/technical/Sq …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
C言語とhtmlの違いを どな...
-
今のプログラミング言語
-
著作権法について
-
なんの言語でしょうか?
-
簡単な将棋ソフト作成
-
dbMAGIC業界の今後
-
プログラミング入門
-
会計システムをつくるために必...
-
VBScriptで引数を省略したい場合
-
web2.0以前のインターネットで...
-
プログラムに書かれる"%"記号の...
-
リピート再生が出来ません
-
VisualStudio2008にこのような...
-
数学、プログラミング、物理、...
-
Cプログラミングでハングマンゲ...
-
仮想ドライブ
-
日本語Windows版libpqの配布権...
-
窓の杜やベクターのフリーソフ...
-
JavaでWebページ作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
著作権法について
-
C言語、C+、C++、C#の違い
-
今のプログラミング言語
-
COBOLでのNOT = の AND条件
-
COBOLで文字タイプを数字...
-
ウェブサイトから特定の文字列...
-
プログラムに書かれる"%"記号の...
-
プログラムからアイコンファイ...
-
C言語とhtmlの違いを どな...
-
C++ ってなんて読む?
-
C++における継続行
-
プログラム言語について c言語...
-
VBScriptで引数を省略したい場合
-
Excel VBAで文字化けする (英語...
-
パスカルケースの由来。
-
UNITY Float型の接尾辞fって
-
TANDEM言語ってあるんですか?
-
HTMLとC++で、どんなホームペー...
-
VCとVC++
-
VBSでDim、Private、Publicの違い
おすすめ情報