メインコンテンツへスキップ

有限会社サイパック

CYPACCYberspace Programming Artists Colony

 

 


書籍

CユーザーのためのC++入門


工藤 智行著

技術評論社発行

ISBN: ISBN4-87408-520-2

発行年: 1994年

2,136円+税

Amazon

C のプログラマが C++ を理解するのに、最短距離で済むように、自分の C++ 習得の経験をふまえて書き起こしたものです。

本書は、Software Design 誌の 1990 年 11 月号から 1992 年の 2 月号までの連載が元になっています。

既に出版されてかなりの年月がたっていますが、当時の C++ から C へのトランスレータのコードを例にあげて、C++ のコンパイラの中身の動きを解説しています。

今でもこのアプローチは C のプログラマが C++ の内部の動きを理解するには最短コースなのではないかと思っています。


目次

第1章 はじめにクラスありき

1.1 構造体の問題とは

1.2 クラスによって問題を解決する

1.3 クラスによる書き換え

1.4 C++トランスレータの出力


第2章 関数のオーバーロード

2.1 参照

2.2 関数をオーバーロードする

2.3 インライン関数で呼び出し効率を改善する

2.4 メンバ関数のインライン化

2.5 フレンド関数

2.6 演算子をオーバーロードする

2.7 実体引数と実体戻り値の効率を考える

2.8 型変換演算子をオーバーロードする

2.9 コピーコンストラクタ、代入演算子

2.10 その他の演算子のオーバーロード


第3章 クラスの導出

3.1 大きなプロジェクトの問題

3.2 クラスの導出とは

3.3 クラスを導出する

3.4 static メンバ

3.5 導出の際のアクセス制御

3.6 基本クラスの構築子呼びだし

3.7 導出クラスを使う

3.8 導出の面からみたクラスライブラリ


第4章 仮想関数

4.1 データメンバのポインタ

4.2 メンバ関数のポインタ

4.3 静的結合と動的結合

4.4 仮想関数とは

4.5 仮想関数はどんなときに使うのか

4.6 仮想関数のしくみ

4.7 抽象クラスと純粋仮想関数


第5章 ストリームライブラリ

5.1 C++ライブラリ

5.2 ストリームライブラリ

5.3 出力ストリーム

5.4 入力ストリーム

5.5 バイナリ・ストリーム

5.6 ファイル・ストリームを作る

5.7 バッファ・ストリームを作る

5.8 デフォルトの書式(フォーマット)

5.9 書式(フォーマット)の取り扱い

5.10 マニピュレータ

5.11 ユーザ定義のマニピュレータ


第6章 複素数ライブラリ

6.1 複素数のサポート

6.2 初期化

6.3 複素関数

6.4 演算子

6.5 ストリーム入出力

6.6 エラー処理

6.7 DFT


第7章 生成的な考え方

7.1 組み込みの型

7.2 抽象化されたアルゴリズム

7.3 プリプロセッサによるアプローチ

7.4 生成的クラス

7.5 生成的クラス

7.6 iostream のマニピュレータ

7.7 テンプレート機能


第8章 多重継承

8.1 導出クラスとは

8.2 多重継承が必要なとき

8.3 多重継承の方法

8.4 構築子

8.5 あいまいさ

8.6 型変換

8.7 仮想基本クラス

8.8 仮想関数と仮想基本クラス


第9章 タイプセーフリンケージ

9.1 タイプセーフリンケージ

9.2 ラベル生成規則の解析

9.3 C言語とのリンク

9.4 他言語とのリンク

9.5 インラインアセンブラ

9.6 古いC++処理系

9.7 overload 識別子について


第10章 エラー処理

10.1 エラー処理のコードを書く時期

10.2 Cのエラー処理

10.3 エラーハンドラー

10.4 クラス内の状態変数

10.5 次期C++の例外処理


第11章 OOPとOOD

11.1 なぜC++にOODか

11.2 オブジェクト指向

11.3 データ隠蔽

11.4 メッセージ

11.5 抽象化

11.6 継承

11.7 カプセル化

11.8 型チェック

11.9 仮想関数

11.10 多義(オーバーロード)

11.11 設計とドキュメント


第12章 OODの設計プロセス

12.1 OODの設計プロセス

12.2 デザインステップ

12.3 仕様の確定、凍結

12.4 問題の分解

12.5 オブジェクトの抜き出し

12.6 オブジェクトの振る舞いを調べる

12.7 オブジェクト間の関係を明かにする

12.8 オブジェクトをクラスでとらえる

12.9 クラスの修飾と振る舞いを明かにする

12.10 他のクラスとの関係を調べる

12.11 既存のクラスが再利用できるかを検討する

12.12 クラスの最終デザイン

12.13 インプリメント

12.14 OODのまとめ


Apendix A: C++1.2と2.0の違い

  • アクセス制御機構
  • オーバーロード適合規則
  • タイプセーフリンケージ機構、Cとのリンク
  • 多重継承
  • 基本クラスとメンバの初期化
  • 抽象クラス
  • 静的メンバ関数
  • 静的データメンバ
  • const メンバ関数
  • メンバへのポインタ
  • メモリ管理のユーザ定義、new ,delete オペレータ
  • -> 演算子のオーバーロード
  • , 演算子のオーバーロード
  • 代入と初期化
  • 静的オブジェクトの初期化

Apendix B:参考文献

  • アクセス制御機構
  • オーバーロード適合規則
  • タイプセーフリンケージ機構、Cとのリンク
  • 多重継承
  • 基本クラスとメンバの初期化
  • 抽象クラス
  • 静的メンバ関数
  • 静的データメンバ
  • const メンバ関数
  • メンバへのポインタ
  • メモリ管理のユーザ定義、new ,delete オペレータ
  • -> 演算子のオーバーロード
  • , 演算子のオーバーロード
  • 代入と初期化
  • 静的オブジェクトの初期化
  • 先頭に戻る


    Copyright ©2022 有限会社サイパック CYPAC All Rights Reserved.