世界でいちばん簡単な Visual C++のe本 標準C++とC++/CLIの基本と考え方がわかる本
概 要
かわいいイラストや図と共に解説した世界でいちばん簡単なVisual C++入門書です。Visual C++には標準C++を使ったプログラミングと、.NET Frameworkに対応したアプリケーションを開発するためのC++/CLIプログラミング機能がありますが、C++の性能を引き出すためには標準C++プログラミングを覚える必要があります。そこで本書では、標準C++の文法や制御構造、配列、関数活用といった基礎を説明したあとで、C++/CLIプログラミングを使ってWindowsアプリケーションを作成するテクニックを解説。豊富なサンプルプログラミングでオブジェクト指向が学べます。本書掲載のサンプルプログラムのダウンロードサービス付き。
| 著者 | 金城俊哉 |
| 価格 | 円(税込)(本体1600円) |
| ISBN | 978-4-7980-2417-2 |
| 発売日 | 2009/10/27 |
| 判型 | A5 |
| 色数 | 4色 |
| ページ数 | 352 |
| CD/DVD | - |
| 対象読者 | 初級 |
| シリーズ | - |
目次
section 01 3分でわかるソフトウェアの役割
●パソコンにOSが必要なワケ
ソフトウェアがなければパソコンは動かない
パソコンは一台でいろんな処理を行う
何でWindowsが必要なのか
●Windowsがパソコンを動かす
Windowsの中身は5段構造
●アプリケーションは専用の画面を使ってOSの機能を利用する
システムコール
アプリケーションからのシステムコールの利用
クラスライブラリで簡単プログラミング
●プログラムとプログラミング言語
電気で動くパソコンは2進数で動く
CPUが理解できるのはマシン語だけ
マシン語をそのまま文字に置き換えたアセンブリ言語
プログラムの開発効率を高めた高水準言語
section 02 VisualC++ってこんな言語
●VisualC++の特徴
Microsoft社がVisualC++を開発
VisualC++は二つの顔を持つ
(1)のネイティブプログラミング
(2)のC++/CLIプログラミング
高速実行を優先するならネイティブコードを使う
VisualC++の構造
●Microsoft.NET
C++/CLIプログラミングを動かす.NET Framework
中間コードにしておけばどんなコンピュータでもプログラムを実行できる
C++/CLIプログラムが動く仕組み
section 03 プログラミングの手順
●アプリケーションを開発するための5つのステップ
どんなアプリケーションを作るのかを決める
アプリケーション用の画面を作る
プログラムコードを入力する
プログラムの間違いを修正する
プログラムを実行するためのファイルを作る
section 04 ヘルプの活用
●ダイナミックヘルプ
[ダイナミックヘルプ]を表示する
プログラムコードの内容を調べる
●!キーによるヘルプのクイック表示
!キーでヘルプを一発表示
●検索ウィンドウを利用したヘルプの検索
●キーワードを利用したヘルプの検索
●目次を利用したヘルプ
section 05 ツールウィンドウの表示とカスタマイズ
●ツールウィンドウの表示
●ツールウィンドウのカスタマイズ
ツールウィンドウを自動非表示にする
ツールウィンドウのサイズを変更する
ツールウィンドウの表示位置を変更する
section 06 プロジェクトとソリューション
●プロジェクトの作成とプログラムの作成
空のプロジェクトを作成する
プロジェクトの保存先を変更する
ソースファイルを追加する
●プログラムコードの入力
プログラムコードを入力する
●プログラムの実行
[出力]ウィンドウ
●プロジェクトの保存と終了
プロジェクトを保存する
プロジェクトを終了する
●作成済みのプロジェクトを開く
第2章 C++の文法徹底解説
section 01 コードを記述する方法
●コードの書き方
コードはすべて半角英数字で入力する
単語と単語の間には半角スペースを入れる
ステートメントの終わりには「;」を記述する
VisualC++の自動補正機能
●コメントの記述
「//」を使って行全体をコメントアウトする
「/*」と「*/」を使って特定の範囲をコメントアウトする
section 02 サンプルを作ってC++プログラムの構造を知る
●C++プログラムの構造を見る
「#include
「using namespace std;」でネームスペースを指定
「int main()」は一番最初に実行される関数
「cout << "C++の世界へようこそ!\n";」で文字列を表示
「return 0;」で関数を終了
section 03 エスケープ文字と数値リテラル
●エスケープ文字
エスケープ文字
プログラムの実行
●数値リテラル
●整数リテラル
整数リテラルで数値を表示するプログラムを作成する
プログラムの実行
●浮動小数点リテラル
浮動小数点リテラルで数値を表示するプログラムを作成する
プログラムの実行
section 04 変数とデータ型
●変数の役割
変数を宣言する
変数に値を代入する
変数の値を画面に出力する
プログラムの実行
●データ型
●データ型の指定が必要な理由を探る
変数の仕組み
データ型の指定が必要な理由
●データ型を間違えるとどうなる?
プログラムの実行
●変数の操作
変数の初期化
変数の値を変更する
ほかの変数の値を代入する
それではプログラムを作成して確かめてみよう
プログラムの実行
●変数を利用した計算プログラムの作成
計算プログラムを作成する
プログラムの実行
section 05 定数
●定数の使い方
定数を使うメリット
定数の初期化
●定数を利用した計算プログラムの作成
計算プログラムを作成する
プログラムの実行
section 06 演算子の種類と働き
●算術演算子
●代入演算子
●インクリメント/デクリメント演算子
インクリメント演算子を使ってみる
プログラムの実行
●シフト演算子
プログラムを作って確認してみる
プログラムの実行
●関係演算子
●論理演算子
プログラムを作って確認してみる
プログラムの実行
section 07 データ型のキャスト
●異なるデータ型の演算あれこれ
小さいサイズのデータを大きなサイズのデータ型に代入する
大きなサイズのデータを小さいサイズのデータ型に代入する
異なるデータ型同士の演算を行う
整数型同士の演算で小数を含む結果が出たらどうなる?
●暗黙の型変換とキャスト
データ型の変換が必要な場合はキャストを行う
第3章 制御構造完全マスター
section 01 C++の制御構造(1)―条件分岐構造
●条件分岐構造の役割
条件分岐構造の種類
条件式で使用する演算子を見ておこう
●if...ステートメント
if...ステートメントを使ったプログラムを作成する
プログラムを実行する
●if...elseステートメント
if...elseステートメントを使ったプログラムを作成する
プログラムを実行する
●if...else if...elseステートメント
if...else if...elseを使ったプログラムを作成する
プログラムを実行する
●switchステートメント
switchを使ったプログラムを作成する
プログラムを実行する
●論理演算子を利用した条件分岐
論理演算子の種類
論理演算子を利用したプログラムを作ってみよう
プログラムを実行する
●条件演算子を利用した条件分岐
条件演算子を利用したプログラムを作ってみよう
プログラムを実行する
条件演算子をif...elseステートメントに書き換えてみる
section 02 C++の制御構造②―繰り返し構造
●繰り返し構造の種類
繰り返し構造の種類
●whileステートメント
whileステートメントを使ったプログラムを作成する
プログラムを実行する
●do...whileステートメント
繰り返し処理を最低1回は行うプログラムを作成する
プログラムを実行する
●forステートメント
「for」ステートメントを利用したプログラムを作成する
プログラムを実行する
●breakステートメント
breakステートメントを利用したプログラムを作成する
プログラムを実行する
●continueステートメント
continueステートメントを利用したプログラムを作成する
プログラムを実行する
第4章 配列の完全理解
section 01 配列
●配列の使い方
配列変数を宣言する
配列変数に値を格納する
配列変数を利用したプログラムを作成する
プログラムを実行する
配列の初期化
要素数を指定しないと動的配列になる
●キーボードから入力された値の配列への格納
キーボードからの入力値を配列に代入するプログラムを作成する
プログラムを実行する
プログラムコードを見てみよう
section 02 多次元配列
●多次元配列の使い方
2次元配列の宣言
2次元配列の要素の値を代入する
●2次元配列を利用したプログラムの作成
プログラムを実行する
プログラムコードを見てみよう
section 03 文字配列
●配列を利用した文字の処理
文字列を扱う変数を初期化しよう
配列に格納した文字列を表示してみよう
プログラムを実行する
●文字列をコピーする
文字列を操作する関数を使えるようにする
文字列をコピーする
プログラムを実行する
●文字列を追加する
文字列を追加する
プログラムを実行する
●文字列の長さを調べる
文字列の長さを調べるコードを追加する
プログラムを実行する
第5章 構造体、列挙体、共用体を極める
section 01 構造体
●構造体の使い方
構造体を宣言する
構造体型の変数に値を代入する
●構造体を使ったプログラムの作成
構造体を使ったプログラムを作成する
プログラムを実行する
●構造体のコピー
プログラムを実行する
●構造体の配列
構造体型配列を利用するプログラムを作成する
プログラムを実行する
section 02 列挙体
●列挙体の使い方
列挙体を宣言する
列挙体型の変数を宣言する
列挙体型の変数に値を代入する
列挙体を使う
●列挙体を使ったプログラムの作成
列挙体に格納された値を表示するプログラムの作成
プログラムを実行する
section 03 共用体
●共用体を使う理由
共用体と構造体の違い
共用体はメモリを節約する
●共用体の使い方
共用体を宣言する
共用体型の変数に値を代入する
●共用体を使ったプログラムの作成
共用体に格納された値を表示するプログラムの作成
プログラムを実行する
第6章 関数活用のキモ
section 01 関数の作成と呼び出し
●関数の働き
関数の定義
関数の型
引数(ひきすう)
●関数の呼び出し
●関数を利用するプログラムの作成
関数を利用するプログラムを作成する
プログラムを実行する
プログラムを見てみよう
section 02 引数を使ったデータの受け渡し
●引数の使い方
引数を使う
●引数を利用するプログラムの作成
引数の値を画面に表示するプログラムを作成する
プログラムを実行する
●複数の引数を利用するプログラムの作成
複数の引数を利用するプログラムを作成する
プログラムを実行する
section 03 関数の戻り値
●戻り値を返す関数
戻り値を使う
●戻り値を利用するプログラムの作成
関数の戻り値を画面に表示するプログラムを作成する
プログラムを実行する
section 04 関数プロトタイプ
●関数プロトタイプの使い方
関数プロトタイプの構造は?
関数プロトタイプ宣言を行う
●関数プロトタイプを使うプログラムの作成
関数プロトタイプを使うプログラムを作成する
●デフォルト引数
デフォルト引数を使う
引数を省略して関数呼び出しを行うとデフォルト引数が使われる
デフォルト引数は一部を省略することができる
一部の引数だけにデフォルト引数を指定したときの呼び出しパターン
section 05 インライン関数
●インライン関数の機能
インライン関数を使う
●インライン関数を利用したプログラムの作成
プログラムを実行する
プログラムをイメージしてみよう
section 06 関数の多重定義
●関数のオーバーロード
関数をオーバーロードするメリット
関数をオーバーロードする
●関数をオーバーロードするプログラムの作成
プログラムを作成する
プログラムを実行する
section 07 関数テンプレート
●関数テンプレートの仕組み
関数テンプレートは1つ作っておけば使い回しができる
関数テンプレートを使う
●関数テンプレートを利用したプログラムの作成
プログラムを作成する
プログラムを実行する
第7章 短時間マスター! ポインタ使いへの道
section 01 ポインタと変数
●ポインタの仕組み
ポインタはたんにメモリ上の位置を示す機能
●間接参照と直接参照
ポインタを使って変数の値を知る
●ポインタを使った値の代入
間接参照で値を代入するプログラムを作成する
●ポインタのアドレス設定にまつわる話
section 02 ポインタと配列
●ポインタと配列の関係
配列のアドレスを表示するプログラムを作成する
プログラムを実行する
●ポインタ演算で配列のアドレスを調べる
ポインタ演算の内容
●ポインタを使って配列のアドレスを調べる
ポインタの使い方を見る
●ポインタを使って配列の値を調べる
●ポインタを使って配列へ値を代入する
第8章 これでわかった! オブジェクト指向開発言語C++
section 01 クラスの作成
●クラスの構造
クラスにはデータメンバとメンバ関数が含まれる
クラス内部で関数を定義する
●クラス宣言いってみよう
クラスで定義したメンバを見る
●クラスの利用
クラスを利用するにはインスタンス化を行う
クラスのメンバを呼び出す
●ポインタによるメンバの呼び出し
●動的記憶域の確保
new演算子でメモリ領域を確保する
●2つ目以降のインスタンスの生成
section 02 クラスのアクセス制限
●アクセス制限の必要性
●クラスのカプセル化
クラスをカプセル化してみよう
●インターフェースの実装
●入力された値を画面に表示する関数の定義
●main()関数の定義
ヘッダの追加
●カプセル化されたクラスを持つプログラムの実行
section 03 メンバ関数の内部定義とインライン化
●メンバ関数の内部定義
メンバ関数を内部定義する
●メンバ関数のインライン化
section 04 コンストラクタ
●コンストラクタの働き
コンストラクタを作ってみる
プログラムを実行する
●引数を持つコンストラクタ
プログラムを実行する
●コンストラクタの多重定義
コンストラクタをオーバーロードするプログラムを作成する
プログラムを実行する
第9章 オブジェクト指向プログラミング実践編
section 01 クラスの継承
●基本クラスを継承して派生クラスを作成する手順
●基本クラスの作成
基本クラスを作成する
●継承の仕組みを理解しよう
継承を行う方法
派生クラスの機能を確認しよう
カプセル化されたデータメンバへアクセスできるようにする
●派生クラスの作成
派生クラスを作成する
基本クラスのデータメンバにアクセスできるようにする
基本クラスのコンストラクタを呼び出す
main()関数を変更する
プログラムを実行する
●protectedを使う
基本クラスを書き換える
派生クラスのメンバ関数を書き換える
書き換え後のプログラム
●クラスを継承するときのアクセス指定
section 02 仮想関数
●メンバ関数のオーバーライド
プログラムを実行してみる
オーバーライド
●ポインタによる関数呼び出し
プログラムを書き換えてみよう
プログラムを実行してみる
●仮想関数の作成
静的結合
動的結合
仮想関数を作成する
プログラムを実行してみる
section 03 ポリモーフィズムと実行時型識別(RTTI)
●ポリモーフィズム
●実行時型識別(RTTI)
●実行時型識別を利用したプログラムの作成
プログラムを実行してみる
実行時型識別の仕掛けを見る
section 04 多重継承
●多重継承による派生クラスの作成
●多重継承を利用したプログラムの作成
プログラムを実行してみる
●基本クラスのコンストラクタを多重継承する
●メンバの明示的呼び出し
メンバの明示的呼び出しを行うプログラムを作成する
プログラムを実行してみる
●仮想基本クラス
仮想基本クラスにすることで問題解決
仮想基本クラスを利用したプログラムの作成
プログラムを実行してみる
section 05 デストラクタ
●デストラクタが必要になるシチュエーション
delete演算子によるデストラクタの定義
●デストラクタを定義する
プログラムを作成する
プログラムを実行してみる
section 06 クラステンプレート
●クラステンプレートの機能を知る
●クラステンプレートを作成する
プログラムを作成する
プログラムを実行してみる
section 07 STL
●STLの基本要素
STLの3大要素
●STLを利用したプログラムの作成
プログラムを実行してみる
●STL用ヘッダ
●テンプレートクラスの宣言
●イテレータの宣言
●vectorのメンバ関数
push_back()関数
begin()関数とend()関数
●STLのアルゴリズムを使う
アルゴリズムを利用したプログラムを作成する
プログラムを実行してみる
第10章 挑戦! C++/CLIプログラミング
section 01 Windowsアプリケーションの作成
●C++/CLI用のプロジェクトの作成
●フォーム用のファイル
●操作画面の作成
ラベルを配置する
ボタンを配置する
●プロパティの設定
ラベルのプロパティを設定する
ボタンのプロパティを設定する
●プログラムコードの入力
イベントハンドラは自動的に作成される
プログラムコードを入力する
イベントハンドラの中身を見る
●プログラムの実行
デバッグを開始する
プログラムの間違いを修正する
●実行可能形式ファイルの作成
ビルドを実行する
作成された実行可能ファイルを確認する
section 02 プロパティ
●プロパティの使い方
●[プロパティ]ウィンドウにおけるプロパティの設定
●プロパティを利用するプログラムの作成
コードの解説
プログラムを実行してみる
section 03 メソッド
●メソッドを使う3つの方法
●処理だけを行うメソッドの使い方
プログラムを作成する
コードの解説
プログラムを実行する
●パラメータを指定するメソッドの使い方
プログラムを作成する
コードの解説
プログラムを実行する
コラム
アプリケーションというソフトウェア
コンピュータの構造
ビットとバイト
インタープリタ型言語と中間コード型言語
入力支援機能を使ってラクをする
トークンとリテラル
2進数、8進数、10進数、16進数の関係
相対アドレス
カッコの使い方
trueとfalse
条件式の簡易表記
論理演算子の優先順位
条件式の簡易表記
実引数と仮引数
インスタンス
デフォルトコンストラクタ
純粋仮想関数
ある出来事をきっかけにプログラムは動く
インスタンス化の自動化

