2010-11-23 14 views
1

私は大学でのC++の基礎を学びました。私たちは、robert laforeによって書籍オブジェクト指向プログラミングをC++で使用しました。基本C++の後には何がありますか?

私はポインタ(ほぼ半分の本)まで勉強していますが、私はまだコンソールを使って時代遅れと感じています。それ以外のことはしません(私の無知のために私を許してください)。私は窓をシンプルなアプリケーションをし、私は学んだ。

問題はVisual Studioでwin32プロジェクトを開くときです。たとえば、たくさんの.cppと.hが開きます。

これを理解し、適切な道を歩く方法がありますか?

コードは私にとっては複雑で心配していますか?これは初心者のためのものですか?私にそれを紹介する信頼できるチュートリアルはありますか?また、テンプレートや仮想関数やファイルのようなC++の高度な概念を学ぶ必要があるのでしょうか、それらは必要ではありませんか?

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

+0

私はそれがあなたの求める答えであるとは確信していません。その理由はコメントです.C++は、他の言語があなたを制限するプログラムの要素に触れることができるという点で「より低い」アクセスを提供します。あなたがビジュアルインターフェイスを備えたアプリケーションを開発していて、より速い「設計とコード」を望むなら、C#を試してみることをお勧めします。これはC++に非常によく似ています。あなたが下に行きたい、そしてあなたがビルドしているものをより詳細に制御したいなら、C++に固執してください。例えば、継承を学ぶことは、それがどれほど複雑であっても(実際は単純な主題です)、仮想関数にあなたを導きます。 – Poni

+0

ところで、あなたがC++を使うことを決めたら、以下のリンクは素晴らしいです。私が個人的に非常にお勧めしているのは、プログラミングの全体像をよりよく理解できるからです。リンク:http://www.cplusplus.com/doc/tutorial/ – Poni

+0

リンクのおかげで、私はactullyはC + +を学ぶ目的を持っています。それは3Dとゲーム開発に必要ですが、私は私の幾何学、三角法、その他の数学スキル... :( – user516935

答えて

2

その後、C++でプログラミング、および簡単なCLIアプリケーションで習得することが少なく、複雑な概念を学ぶためのシンプルな言語があります。実際に、C++を使ってGUIソフトウェアを書くことは、おそらくうまくいくことを学ぶのが最も難しいことの1つです。あなたがビジュアルプログラミングだけを学ぶことを意図していて、C++でのみ学習したいのであれば、プログラミングツールキットQT(http://developer.qt.nokia.com/resources/getting_started/)を試すことをお勧めします。より高速でより論理的には、他のほとんどすべて。

それ以外の場合は、ほとんどすべての(VB、Python、Ruby)または準コンパイル済みの(Perl、Java、C#)言語を選択し、コマンドラインチュートリアルを実行してください。

+0

あなたはC++のみでビジュアルなプログラミングをしていたとき、私は直接x APIやその他の学習のような他の計画を持っています。このactully年内計画なので、C#(または他の言語)を使った学習とプログラミングは私の目標または2つの鳥(この場合は鳥2つ以上の鳥が1つの鳥でプログラミング言語)を打つのを助けるだろう – user516935

0

あなたはどこかで起動する必要があります。だから、あなたが言及したすべてのことを学ぶ必要があります。その後、実際に何が起こっているかを理解するまで、コンソールアプリケーションを書くことが含まれています。私が話すことができる唯一の理由は、私が似たようなボートにいるからです。私はそれの音から、私はおそらくあなたよりも「高度な」と言いますが、私は依然としてコンソールの課題/プロジェクトを挑戦しています。

0

問題は次のとおりです.Windowsとそのものはであり、これらのすべてのイベント(クリック、キー、マウスなど)があり、オペレーティングシステムと頻繁にやりとりしています。実際のプログラミング、つまりループ、関数、クラスなどの使用方法を学ぶことに焦点を当てることができるので、コンソールアプリケーションから始めることは良いことです。

ウィンドウを作成する方法を学ぶには、私の意見では、学習に値するすべてのウィンドウツールキットがクラスを利用するからです。

このWindowsの仕組みはどのように機能しますか?良いニュース:多くの作業がすでに完了しています。 「プリントファイル」ダイアログを再プログラムする必要はなく、シンボルやメニューなどでウィンドウを手で描く必要はありません。これは、いわゆるフレームワークで容易に利用でき、そこにはたくさんのものがあります。 Microsoft Foundation Classes(MFC)、またはNokiaのQtまたはwxWidgetsなどを使用することができます。

Googleこれらのチュートリアルでは、これで途中で解決できます。どのフレームワークが最適かを見てから、Hello Worldの例を見てください。

経験を積むと、恐ろしいことではないことがわかります。唯一の怖いのは未だに未だに征服されていない未知のものです。その後、

(より穏やかな導入は、本当に、私はこれは非常に簡単に見つけることが、C++の選択肢があまりにもハードではないとして、最初のJava/Swingの操作を行うことであろう)

1

のVisual Studioで空のプロジェクトを作成し、それが気にしない.cppと.hファイルをたくさん作成することはありません。

その後、Windowsアプリケーションをゼロから作成する方法を学ぶには、Programming Windows Charles PetzoldまたはgoogleのWebプログラミングチュートリアルを参照してください。

後でJeff Richter(Windows via C/C++)の書籍を入手して、より高度なWindowsプログラミングの概念について学んでください。

1

win32/Visual StudioはGUIプログラミングを学ぶ良い方法ではありません--Visual Studioはあまりにも多くの不思議で読めないコードを生成し、win32 APIはWindowsの初期バージョンから多くの手荷物を運ぶC APIです。

GUIプログラミングを学ぶためには、QtやWxWidgetsのようなより組織的で洗練されたフレームワークを使用するほうがずっと良いでしょう。

あなたがウィジェットをよく理解しているとき、私は実際にあなたがWXの基本を学び、C++インタフェースに切り替えることのwxPythonを使っ推薦など

あなたはGUIのために必要なC++コードのほとんどは、単にありますボイラープレートのプロパティの設定と例外処理はあまり教えませんし、かなり面倒です。

+0

win32は何も生成しませんQtやWxWidgetsのようなジェネレータを使わない限り、どちらも "生成する"あまりにも多くの不思議で判読不能なコードを隠してしまいます。実際に何が起こっているのかは隠しています。 –

+1

私は同意しますが、Win32は何も生成しません。多くのC++は(特にwinapiはOO C++で使用しようとするC APIです).WTLのようなものはWin32よりもずっと良いと思います。 – Paul

+0

私はVisual Studio C++を意味しました! –

0

Visual StudioやIDEに慣れたい場合は、ビジュアルスタジオで遊んでみてください。 VSはあなたに代わってたくさんのことをします。その対話型は、1つのオプションを選択し、自動生成されたファイル.hまたは.cppを調べ、コンパイルします。もしあなたが何かエラーグーグルを取得します。私は自分でこのように学びました。

学習のために、C++ laforeはまずは良い本です。あらゆる言語を学ぶ最も重要な方法は、たくさんのコードを書くことです。本で解決策を探すように誘惑されることはありません。最良の方法は次のとおりです。

a) Read the problem properly 
b) Write your logic on paper first 
c) Identify interfaces 
d) Convert your logic into programme 
e) Compile it 
f) remove the errors 
g) remove all the warnings 
1

Windowsのハングアッププログラミングに関するヒント:
The Forgers tutorialを読んでください。

空白のプロジェクトを選択して最初から開始するのではなく、実際にはであり、それほど難しくない場合はになります。あなたがに持って

  • (これは、Windowsでのウィンドウを登録し、それを正しく作成することを含む)のユニークなウィンドウを設定する必要があり

    • :しかし、基本的なWin32のプログラムは、約70〜100行で構成されあなたの窓

    に送信されるメッセージにを反応させ、特にをチェックアウトにあなたが持っているあなたの窓

  • に送信されたすべてのメッセージを処理TheForgerが作成された後、フラグ(dwExStyleとdwStyle)をCreateWindowExで開始し、wndProc関数をチェックして、messagesが何であるかを確認します(最も興味深いのはWM_CREATE、WM_PAINT、WM_SIZEです)。うまくいけば、しばらくすると、すべてが何で、どのように相互作用するのかを感じ取ることができます。

    これは時間がかかっていますが、プログラミングにはほとんどのものがあります。ウィンドウについての基本知識があれば、3D(DirectXまたはOpenGL)から始めるか、2D(GDI +)のままにする必要があるかを、おそらく理解しておくべきでしょう。またはJames AndersonのようにQtを利用すると、本当にあなたがしたいことに依存します。しかし、私はあなたがその決定を取るべきだと思うthenと今ではない。どのようなプロジェクトをしたいのか知っていれば、どの方向へ進むべきか尋ねると、StackOverflowが役に立ちます。

  • +0

    これは実際に役立つ、残念ながら私は – user516935

    +0

    助けて嬉しい! :) – Default

    関連する問題