新・標準プログラマーズライブラリシリーズ新・標準プログラマーズライブラリ
C++ クラスと継承 完全制覇

[表紙]新・標準プログラマーズライブラリ C++ クラスと継承 完全制覇

紙版発売
電子版発売

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++の標準ライブラリのヘッダーファイルに拡張子がない理由

著者プロフィール

矢沢久雄(やざわひさお)

1961年栃木県足利市生まれ。
(株)ヤザワ代表取締役社長,グレープシティ(株)アドバイザリースタッフ。
大手電気メーカーでパソコンの製造,ソフトハウスでさまざまなシステムの開発に従事し,現在は独立してデータ解析アプリケーションの開発に従事している。本業のかたわら,書籍や雑誌記事の執筆活動,IT企業や学校における講演活動も精力的に行っている。お客様の満足を何よりも大切にする自称ソフトウェア芸人。
主な著書に,『C言語プログラミングなるほど実験室』(技術評論社),『プログラムはなぜ動くのか 第2版』(日経BP社),『情報処理教科書 出るとこだけ!基本情報技術者 テキスト&問題集』(翔泳社)などがある。