みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

CとC++って何が違うのでしょうか?

こんにちは。今までjavaでプログラミングしていたのですが、C言語を使わなくてはいけなくなりました。
そこで本屋さんに行って「初めてのCプログラミング」というのを買いました。それに付いてた「BorlandC++Compiler」というコンパイラをインストールして、プログラムを作成して実行しました。
昔、大学の授業ではコンパイルするとき「cc」、実行するときは「a.out」とした記憶があるのですが、これでは、「bcc」です。
もしかして、この本は、C言語ではなく、C++というCとは異なる高水準言語なのですか?
C言語とC++とは全く異なるものなら、このまま、新しい本を買わないとどのような支障がでてくるでしょうか?

投稿日時 - 2003-08-12 01:46:26

QNo.625702

すぐに回答ほしいです

質問者が選んだベストアンサー

C++言語の本なら、書名に「C++」と書いてます。
お買いになったのはまちがいなくC言語の本です。

そのコンパイラは、C言語とC++言語で共用のものです。
(最近は、多くのコンパイラがそうなっています)
C言語のコンパイラとして使えば、正確にCコンパイラとして使えます。
ソースコードの拡張子を.cとするとC言語としてコンパイルして、
.cppとするとC++としてコンパイルします。

また、C++のクラス機能を除けばC言語となるので、
特に区別する必要もないくらいです。

なお、大学の時に「cc」でコンパイルし、
a.outが出てきたとのことですが、
それはUNIX系での一般的な方式で、Windows系では異なります。
C言語というよりOSの違いです。

投稿日時 - 2003-08-12 08:51:06

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

javaではクラスってあったじゃないですか?
基本的にはC言語にクラスの概念とSTLが追加されたものです。
STLはjavaにはない概念なのでちょっとわかりづらいかもしれませんが
使えなくてもCの知識さえあれば一応プログラムは組めます。

C++の中で普通にCのプログラムもかけるので
問題ないと思いますがC++の本は買った方がいいと思います。

>どのような支障がでてくるでしょうか?
要は効率の問題です。
例えばJavaでは便利だったString等に相当するものは標準Cにはありません。
標準Cで文字列を扱うには、char型の配列にしなければなりませんでしたが
C++ではstringというテンプレートが用意されています。

投稿日時 - 2003-08-12 10:37:36

ANo.3

2番の方の書いているのでおおむねあっていると思います。
ちょっと、補足するとbccでコンパイルすることになって
いるのは、Borland Cのコンパイラを使うようになっている
からです。
ccでコンパイルするのは、UNIX-Cとか、まあ、MS-Cとか
になると思いますよ。
C言語とC++の違いについては先にかかれている回答で
よろしいかと思います。
結局、C言語体系で書くか、C++のオブジェクト指向体系
で書くかの違いで、コンパイラ自体はWindows用であれば
Borlandでも、IBM-Cでも、MS-Cでも、よいと思います。

投稿日時 - 2003-08-12 10:27:42

ANo.1

簡単に言えば、
 C++は、C言語にオブジェクト指向的な拡張を施した言語
ということでしょうか。 こちらをご覧ください。
http://www.yc.musashi-tech.ac.jp/~c-prog/process/No-1/1-001.htm
http://e-words.jp/w/C2B2BE8A880E8AA9E.html
http://yougo.ascii24.com/gh/07/000716.html

投稿日時 - 2003-08-12 02:32:50

あなたにオススメの質問