プロが教えるわが家の防犯対策術!

CとC++は別物なんですか?
C++をマスターしたところで
「C言語をマスターした」とは言えないのでしょうか?
「C++言語をマスターした」と言うことになるのですか?

A 回答 (6件)

別物です。



> C++をマスターしたところで
> 「C言語をマスターした」とは言えないのでしょうか?

いえません。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2010/07/10 16:13

C++ 自体が C を背景に作られているので似ているところは当然あるけど「別物」と思った方がいい.

    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2010/07/10 16:13

C++はCを(ハンパなく)拡張したもの。


C++で書いたものをCに移植するのは場合によっては非常に困難です。
その意味ではCの方がより難しい(つか面倒)と言えます。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2010/08/02 21:36

C++ はCを母体として言語仕様を拡張して抽象データ型、オブジェクト指向の機能を追加したものと捉えることができると思います(仕様が変更されている点もあります)。

C++はCのスーパーセットと言われる場合もあります。

ですから、関連はあるし言語仕様に共通点はありますが、別と言えば別です。
C++の入門書を読んでみると、Cの説明、CとC++の違いなどについて記載されている場合が多いと思います。C++の入門書に目を通してみることをお勧めします。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2010/08/02 21:36

別物ですね。


C++しか理解していないプログラマがC言語でプログラムしたら、とりあえずクラスを使わなきゃOK!ぐらいだと思っているとひどい目に合います。

参考
きじねこ「C++プログラマのためのC言語入門」
http://www.kijineko.co.jp/tech/cpp2c
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2010/08/02 21:37

C言語の中にある、構造体をご存知でしょうか?


構造体だけであれば、データですが、そのデータをどのように加工するのか、構造体の中に関数として書くことができるように拡張したのが、C++になります。
オブジェクト指向という考え方がありますが、C++は、C言語でオブジェクト指向のプログラミングをできるようにしたと書いてあります。

ただし、C言語でも、ファイルを分離して、外部から関数呼び出しできないようにすることで、privateのような働きをさせることができます。MISPO uITRONですと、そのような、オブジェクト指向なC言語ソースを見ることが出来ます。

ただ、プログラムは動作すれば、それでいいという面があり、実装上支障がなければCを知らなくともなんら問題ないと思います。(動けばOKという個人的な意見ですので)
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2010/08/02 21:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!