- ベストアンサー
C++からVC++へ
C++を勉強しているものです。 質問タイトルどうりなのですが、C++の勉強が 一応終わり、VC++に入ったのですが、VC++の 本を買ってみたところ、C++とは全く違うでは ないですか、画面表示にcoutは使えない。cinでキー 入力できない(コマンド名が違うというのではないです)。じゃあ今までやってきたことはなんだった のか、と思います。 このC++からVC++に移行できた人にどんなことを 勉強したのか、知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
今まで読んでこられた書籍は、おそらく、コンソール環境(CUIといいます。windows上では、たとえばXPだと、コマンドプロンプトで実行する形式のプログラムですね。)での勉強をしてこられたものと思います。 ところで、windows上でのプログラム(GUIと称します。)では、ユーザーから入力を受け付け、画面を表示する為の方法が、CUIの時と全く違います。VC++の書籍は、windows上でGUIのプログラムを組むための内容が記述されている物と思います。 あなたの感じられた「全く違う」部分は、すべて、このCUIとGUIのプログラムにおける入出力に当たる部分だと思います。 まず、今まで学んできたことは、「すべて」役に立ちます。というか、実は、まったく違う所はありません。じゃぁ、違うと感じた部分は何か。それが、windowsにおけるプログラムで学ばなければならないことです。これから、あなたは、windowsというOS上でのプログラムの作り方を学ぶことになります。これは、windowsのAPI(Application Interface)関数の使い方を学ぶことです・・が、これ実は、生のままで扱うと、とても難しい関数です。それで、VC++には、MFCというクラスライブラリーがついています。これは、windowsのGUIプログラムをサポートするためのライブラリー集です。VC++の書籍は大概、このクラスライブラリーの使い方の説明がメインになっていると思ってください。 クラスの再利用に関して学習されていれば、この再利用の典型例が、この類のクラスライブラリーです。 わたしが、windowsのプログラムを始めたころは(まだ、windows3.1の頃です。)生のAPIの使い方、メッセージ駆動プログラムの作法・リソースの取り扱い等、かなりのことを勉強しないと、最初のプログラムさえ書けませんでしたが、MFCクラスの表面的な使い方から入れば、そのときほど苦労することもないでしょう。 ちなみに、先の方も、最初に書いておられますが、VC++は、言語ではないです。単なる製品名です。C++のコンパイラーと、MFCというクラスライブラリー、それに、windows上での統合開発環境をセットにしたmicrosoftの製品とでも言っておきましょうか。 というわけで、そこに記述するプログラムの構文は、リソース関係を除けば、全部いままで学んできたC++の構文です。見覚えのない関数・見覚えの無いクラスは、全部windowsというOSを使うための関数・クラスですから、じっくり取り組んでみてください。 がんばってくださいね。
その他の回答 (1)
- ryuta_mo
- ベストアンサー率30% (109/354)
勘違いしてる人が多いのですがVisualC++と言う言語はありません。 VC++はMicrosoftのC++コンパイラ(+周辺ツール)の商品名です。 いろいろな本を見てもこの辺をいい加減にしてVC++と言う言語があるかのように書いてます。 本題: VC++とMFCを使ってWindowsのGUIプログラムを作成でしょうか?(違っていれば補足してください) C++の文字表示や入力はCUIプログラムで使う関数です。 GUIのためにはウインドウやオブジェクト(ボタンやテキストボックス等)の扱い方を覚える必要があります。 MFCを扱うためにはC++のクラスやオブジェクト指向の知識が必要になります。 MFCを使わなければクラスとは無縁でCのみでWindowsのGUIプログラムを作ることが可能です。 プロジェクトを作るときWin32ConsolApplicationを選択すれば普通のC/C++のプログラミングもできます。
補足
早速の回答ありがとうございます。 >いろいろな本を見てもこの辺をいい加減にしてVC++と言う言語があるかのように書いてます。 山本信雄著 VISUALC++ はじめてのWindowsプログラムという本です。 >VC++とMFCを使ってWindowsのGUIプログラムを作成でしょうか? はいそうです。 >プロジェクトを作るときWin32ConsolApplicationを選択すれば普通のC/C++のプログラミングもできます。 それでやっていました。 最終的にはVC++でGUIプログラムのアプリケーション を作りたいと思っているのですが。
お礼
回答ありがとうございます。 windowsにおけるプログラムで学ばなければならないことC++が違うと感じたのかもしれません。 この部分は白紙の状態から覚えなくてはならないのですね。 挫折しそうですが、がんばってみます。