* 目次 [#h365204b] #contents * 準備 [#i0802fe8] \(^o^)/よう!~ 俺だよ俺!~ ここでは、俺でもわかるレベルでC++プログラミングの初歩を教えるんだぜ!~ 完読すれば、大学の宿題程度なら自分の力でできるようになるんじゃねぇかな。~ 保障はしないけどな! ** 始めるにあたって [#z2888bc2] \(^o^)/C++に限らないけど、プログラムの勉強するときは以下の事を心がけてくれよな!~ - ソースは読むだけじゃなく書け! - 書いたソースは必ず実行確認しろ! ** 環境を整える [#y949c1f4] \(^o^)/C++のコンパイラは色々とあるんだけど、~ とりあえずWindowsでお手軽にやりたいなら [[Microsoft Visual Studio 2005 Express Edition:http://www.microsoft.com/japan/msdn/vstudio/express/visualc/]] をインストールするんだぜ。~ これなら、C++にこなれてきた頃にWindowsGUIアプリケーションの開発もできるようになるしな!~ ちなみにインストールまでがめちゃくちゃめんどいから気長にがんばれよ! * はじめの一歩 [#q4e80a3d] \(^o^)/それでは最初に簡単なプログラムを作ってみるぞ!~ VisualC++(以下VC)でプログラムする基本的な手順をここでマスターするんだぜ。~ ** プロジェクトの作成 [#v8dfa8ef] \(^o^)/VCを起動して、以下の手順で「hello」プロジェクトを作ってみるんだぜ。~ + [ファイル]→[新規作成]→[プロジェクト]を選択 + 新しいプロジェクトダイアログが表示される + [プロジェクトの種類]の[Win32]を選択 + [テンプレート]に[Win32 コンソール アプリケーション]が指定されている事を確認 + [プロジェクト名]に「hello」って入力 + [OK]ボタンを押下 できたか?~ これはWindowsのコンソール(コマンドプロンプト)で動くアプリケーションを作るときの手順だから、~ とりあえずおまじない的に覚えておいてくれよな! ** ソースファイルの作成 [#ib9cf043] \(^o^)/VisualStudioの左側に、~ ソリューションエクスプローラーっていうウィンドウが表示されたか?~ エクスプローラーみたいなやつな。~ ここに、今度はソース(プログラム)ファイルを作ってみるんだぜ。~ + [ソリューション エクスプローラ]の[hello]ノードを開く +[ソースファイル]ノードを右クリック +[追加]→[新しい項目]を選択 +[新しい項目の追加 - hello]ダイアログが表示される +[カテゴリ]の[VIsual C++]→[コード]を選択 +[テンプレート]の[C++ ファイル(cpp)]が選択されていることを確認 +[ファイル名]に[main]って入力 +[追加]ボタンを押下 手順ってのは文章にするとやたらとめんどくさそうに見えるよな!~ 実際はたいしたことやってないから、~ 何回かやってみて体で覚えてほしいんだぜ。 ** Hello world! [#t5f77bbb] \(^o^)/いよいよプログラムだぜ!~ ここまでの手順で、main.cppっていうテキストエディタが表示されているよな?~ ここに、以下のプログラムを打ち込んでみるんだぜ。~ ''コーディング''~ #include <iostream> using namespace std; int main() { cout << "Hello world!" << endl; } できたか?~ これがいわゆるC++のソースコードなんだぜ。~ 何をやってるかは追い追い説明するから、~ 今は手順通りに進んでくれよな!~ 次は、このソースから実行ファイル(EXE)を作るための、~ 「ビルド」をやってみるぞ。 ''ビルド'' キーボードの「F7」を押すとビルドが開始されて、~ VisualStudioの下の方に「出力」っていうウィンドウが表示されるよな。~ ここの一番最後の行に、~ ========== ビルド: 0 正常終了、0 失敗、1 更新、0 スキップ ========== こんなのが表示されてたら、ビルド成功なんだぜ。~ もし、失敗が0じゃない時はソースのどっかがおかしいはずだから、~ 間違いを直してもう一回ビルドするんだぜ。 ''実行'' 最後に、ビルドしたプログラムを実際に実行してみるんだぜ。~ キーボードの「F5」を押すと、黒くて四角い何かがちらっと表示されるよな。~ これがコンソールアプリの実行結果なんだぜ。 早くて見えないだろ?これ、コンソールアプリの実行結果なんだぜ。 ** 見えないのをなんとかする [#y3c598e9] \(^o^)/コンソールアプリを実行したら、~ 黒い四角がちらっと表示されてオワタよな。~ これは何かというと、さっきの一瞬でプログラムが実行されて、~ そして終了しちゃったってことなんだぜ。~ これじゃ何やってるのかちっともわからないよな。~ なので、ソースをちょっと修正して、~ 終了する前にちょっと待っててもらうようにしてみるんだぜ。~ #include <iostream> #include <conio.h> // 追加 using namespace std; int main() { cout << "Hello world!" << endl; _getch(); // 追加 } 修正したソースをビルドして実行すると、~ 今度は黒くて四角て、「Hello world!」って書かれたコンソールが表示されてるはずなんだぜ。~ 何かキーを押すと終了するから、~ とりあえずEnterでも押して消しておいてくれよな! ** ソースの説明 [#wb863f24] \(^o^)/それでは、さっきスルーしたソースの説明をしてみるんだぜ。~ #include <iostream> ここでは「iostream」というC++標準クラスライブラリを、~ hello.cppから使えるようにするための宣言をしてるんだぜ。~ iostreamっていうのは、コンソールに文字を表示するのに必要なんだぜ。 #include <conio.h> さっき追加した「何か押すまで待つ処理」を実装するために、~ C標準ライブラリのconio.hをインクルードしてるんだぜ。 using namespace std; C++標準クラスライブラリをバリバリ使うよ~っていう宣言なんだぜ。~ 下で説明するんだぜ。 int main() 「main」っていう関数(一連の処理)を宣言してるんだぜ。~ コンソールアプリでは、この関数が一番最初に実行されるんだぜ。 { 「ここからmain関数始めるよ」という目印だぜ。 cout << "Hello world!" << endl; 「Hello world!」をコンソールに出力してるんだぜ。~ もう少しkwsk書くと、~ cout(標準出力)に、「Hello world!」を出力して、~ さらにendl(改行)を出力してるんだぜ。 ちなみに、上で説明した「using namespace std;」を省略すると、~ std::cout << "Hello world!" << std::endl;~ っていうふうに、「std::」を付けて書かなくちゃいけないんだぜ。 _getch(); これは、キーが押されるまで待っててくれる関数なんだぜ。~ こ難しく説明すると、~ 標準入力から1文字受け取るまで待機する関数なんだぜ。 } main関数はここまでっていう目印なんだぜ。