新・標準プログラマーズライブラリシリーズ新・標準プログラマーズライブラリ
C++ クラスと継承 完全制覇
2017年12月7日紙版発売
2017年12月7日電子版発売
矢沢久雄 著
B5変形判/304ページ
定価2,728円(本体2,480円+税10%)
ISBN 978-4-7741-9382-3
書籍の概要
この本の概要
「C言語からC++にステップアップしたい」「スムーズにC++のキモをつかみたい」「クラスや継承の考え方になじみたい」……。そんな声の数々に,丁寧に応えるのが本書です。「C言語からC++へ」「クラスとオブジェクト指向の超基本」「オブジェクト指向の本質」「オブジェクト指向プログラミングのテクニック」と,着実なステップで進んでいきます。15年以上にわたってプログラマの皆さまの支持を集め,多くの学校でもテキスト採用されてきたC++の定番書が,装いも新たに登場!確認問題やプログラムのコンパイル方法をナビする付録も付いています。
こんな方におすすめ
- C++やオブジェクト指向プログラミングを独習する方
- C言語からのステップアップを目指す方
- 学校などのテキストとして,わかりやすいC++の本を探している方
この書籍に関連する記事があります!
- これがわかれば合格(!?)なプログラム
- 「どのプログラミング言語にも,その言語をマスターした証となるようなプログラムがある」
目次
第1章 クラスの親戚=構造体
- 1-1 構造体の定義
- 1-1-1 構造体とは?
- 1-1-2 構造体のメンバ
- 1-1-3 構造体の用途
- 1-2 構造体の使い方
- 1-2-1 構造体は型である
- 1-2-2 メンバの取り扱い
- 1-2-3 構造体どうしの代入
- 1-3 構造体の配列
- 1-3-1 構造体の配列の用途
- 1-3-2 構造体の配列をメンバにする
- 1-4 構造体のポインタ
- 1-4-1 構造体のポインタの宣言
- 1-4-2 アロー演算子の使い方
- 1-5 構造体を引数として渡す
- 1-5-1 構造体のポインタを引数に渡す
- 1-5-2 構造体のポインタを戻り値で返す
第2章 オブジェクト指向プログラミングとクラスの基本
- 2-1 モノに注目するとは?
- 2-1-1 手続き型プログラミングで作成した「じゃんけんゲーム」
- 2-1-2 オブジェクト指向プログラミングで作成した「じゃんけんゲーム」
- 2-2 なぜオブジェクト指向なのか?
- 2-2-1 オブジェクト指向プログラミングのメリット
- 2-2-2 モデリングの考え方
- 2-3 構造体とクラスの違い
- 2-3-1 メンバ変数とメンバ関数
- 2-3-2 じゃんけんゲームの完全なコード
第3章 クラスとオブジェクト
- 3-1 クラスの定義
- 3-1-1 クラスを定義する構文
- 3-1-2 メンバ関数の実装
- 3-1-3 インライン関数
- 3-2 クラスの使い方
- 3-2-1 クラスとオブジェクトの違い
- 3-2-2 クラスの定義と実装を分ける場合
- 3-2-3 インライン関数を使った場合
- 3-2-4 クラスの定義と実装を1つのソースコードに書く場合
- 3-3 メンバ関数のオーバーロード
- 3-3-1 オブジェクト指向の三本柱
- 3-3-2 メンバ関数のオーバーロードによる多態性
- 3-3-3 オーバーロード活用の2つのパターン
- 3-4 オブジェクトを引数として渡す
- 3-4-1 オブジェクトの配列とポインタ
- 3-4-2 オブジェクトを引数や戻り値とする関数
第4章 カプセル化とコンストラクタ
- 4-1 カプセル化
- 4-1-1 アクセス指定子の種類と役割
- 4-1-2 カプセル化の目的
- 4-1-3 カプセル化活用の2つのパターン
- 4-2 コンストラクタとデストラクタ
- 4-2-1 コンストラクタの定義
- 4-2-2 コンストラクタのオーバーロード
- 4-2-3 デストラクタ
第5章 クラスの継承
- 5-1 クラスを継承するとは?
- 5-1-1 継承というクラスの使い方
- 5-1-2 protectedの機能
- 5-1-3 継承におけるアクセス指定子の役割
- 5-2 継承の活用方法
- 5-2-1 再利用としての継承
- 5-2-2 汎化と継承
- 5-3 継承におけるコンストラクタとデストラクタの取り扱い
- 5-3-1 コンストラクタとデストラクタは継承されない
- 5-3-2 引数を持つコンストラクタの呼び出し
第6章 メンバ関数のオーバーライドと多態性
- 6-1 メンバ関数のオーバーライド
- 6-1-1 基本クラスのメンバ関数を派生クラスでオーバーライドする
- 6-1-2 基本クラスのメンバ関数を呼び出す
- 6-2 メンバ関数のオーバーライドによる多態性
- 6-2-1 オブジェクト指向プログラミングの復習
- 6-2-2 オーバーライドで多態性を実現する
- 6-2-3 純粋仮想関数と抽象クラス
第7章 オブジェクトの作成と破棄
- 7-1 オブジェクトと一般的な変数の類似点
- 7-1-1 ローカルオブジェクトとグローバルオブジェクト
- 7-1-2 静的オブジェクト
- 7-2 静的メンバ変数
- 7-2-1 staticキーワードを指定したメンバ変数
- 7-2-2 オブジェクト数をカウントする
第8章 オブジェクトの動的な作成と破棄
- 8-1 動的オブジェクト
- 8-1-1 new演算子とdelete演算子の使い方
- 8-1-2 プログラム実行時のメモリの使われ方
- 8-2 集約
- 8-2-1 メンバオブジェクト
- 8-2-2 メンバオブジェクトのコンストラクタとデストラクタ
第9章 コピーコンストラクタとフレンド関数
- 9-1 コピーコンストラクタ
- 9-1-1 関数にオブジェクトを渡す場合の問題
- 9-1-2 コピーコンストラクタによる解決
- 9-1-3 オブジェクトを代入する場合の問題
- 9-2 フレンド関数
- 9-2-1 フレンド関数とは?
- 9-2-2 フレンド関数の活用方法
- 9-2-3 thisポインタ
第10章 その他のテクニック
- 10-1 演算子のオーバーロード
- 10-1-1 代入演算子のオーバーロード
- 10-1-2 算術演算子のオーバーロード
- 10-1-3 比較演算子のオーバーロード
- 10-1-4 フレンド関数を使って演算子をオーバーロードする
- 10-2 オブジェクト指向プログラミングの2つの技
- 10-2-1 テンプレートクラス
- 10-2-2 ダブルディスパッチ
- 10-3 三目並べゲームを作る
- 10-3-1 三目並べゲームの仕様
- 10-3-2 三目並べゲームのプログラム
付録 コンパイラの入手方法,インストール方法,コンパイル方法
- A-1 Visual Studio Community 2017の入手方法とインストール方法
- A-2 Visual Studio Community 2017を使ったコンパイル方法
- A-3 MinGWの入手方法とインストール方法
- A-4 MinGWを使ったコンパイル方法
確認問題
- 第1章 確認問題
- 第2章 確認問題
- 第3章 確認問題
- 第4章 確認問題
- 第5章 確認問題
- 第6章 確認問題
- 第7章 確認問題
- 第8章 確認問題
- 第9章 確認問題
- 第10章 確認問題
- 確認問題の解答
コラム
- COLUMN C言語のキモである構造体とポインタ
- COLUMN UMLからオブジェクト指向の考え方を知る
- COLUMN オブジェクト指向で最も重要なのは……
- COLUMN GoFデザインパターンからオブジェクト指向活用のポイントを知る
- COLUMN 継承はOCPを実践するものである
- COLUMN C++ならではの特徴である多重継承
- COLUMN スルドイあなたへ……
- COLUMN メモリリークに要注意!
- COLUMN 便利なstringクラス
- COLUMN C++の標準ライブラリのヘッダーファイルに拡張子がない理由
この本に関連する書籍
-
[改訂第4版]C++ポケットリファレンス
大好評のロングセラー『C++ポケットリファレンス』の改訂第4版。「逆引き形式で目的からすぐ探せる」「サンプルコードを見ながら具体的な実装のイメージがつかめる」と...
-
新・標準プログラマーズライブラリ なるほどなっとく C#入門
本書は,プログラミングの知識・経験がなくてもC#の基本文法を身につけることができる入門書です。そのために,「初心者に理解して身につけてほしい機能を厳選し,ポイ...
-
[改訂第3版]C++ポケットリファレンス
C++必携の『C++ポケットリファレンス』に最新版が登場! 「逆引き形式で目的からすぐ探せる」「サンプルコードを見ながら具体的な実装のイメージがつかめる」という特...
-
新・標準プログラマーズライブラリ C言語 ポインタ完全制覇
2001年発売以来,多くの方にご支持いただいてきたロングセラー『C言語 ポインタ完全制覇』が装いも新たに登場! 新版では,ISO-C99・C11での扱いを追加したほか,64bit...
-
改訂新版 C++ポケットリファレンス
「逆引き形式で目的からすぐ探せる」「サンプルコードを見ながら具体的な実装のイメージがつかめる」という特徴で,好評いただいているロングセラー『C++ポケットリファ...