「オブジェクト指向言語 C++入門、Cとの違いを徹底追求」の追加情報

Last update on Jul. 11, 2002

Founded on Jul. 11, 2002


本文の訂正

page 35 図 2.2 ↑ 9行
  (誤) cout << "一文字前の文字にします:" << aChar.Show() << '\n';
  (正) cout << "一文字後の文字にします:" << aChar.Show() << '\n';

page 38 問題 7 問題文中
  (誤) CCher
  (正) CChar

page 68 ↓ 21行
  (誤) 8進数の場合に x をつけたり
  (正) 8進数の場合に 0 をつけたり

page 69 図3.15 ↓ 9行目
  (誤) 基数表示 x
  (正) 基数表示 (0, 0x)

page 69 図3.15 ↓ 11行目
  (誤) E, X
  (正) 16進数の a〜f, 指数の e を大文字表示

page 82 ↓ 14行、19行
  (誤) 3費目 4日分
  (正) 4費目 3日分

page 118 問題 3
  プログラムリスト 3行目
    (誤) int a[5] = {3, 5, 1, 2, 4}, max=a[0];
    (正) int a[5] = {3, 5, 1, 2, 4}, max=0;
  プログラムリスト 4行目
    (誤) for(int i = 2; i < 5; i++) {
    (正) for(int i = 1; i < 5; i++) {

page 123 ↑ 8行目
  (誤) 文字列定数はすでにメモリ上に実アドレスを持っていますから、この連
       続した二次元配列
  (正) この連続した二次元配列
       (注)「、」の前を削る

page 123 ↑ 5行目
  (誤) char (*a_p)[5] = {"zero", "one", "two"};
  (正) char (*a_p)[5];
            a_p = s_a;

page 123 ↑ 2行目
  (誤) この結果、
  (正) char (*s_a)[5] = {"zero", "one", "two"}; のような二次元配列の定義
       により、

page 124 図6.9 1行目
  (誤) n (無名,変更不可)
  (正) s_a

page 124 図6.9 2行目
  (誤) n[0]    n[1]    n[2]
  (正) s_a[0]  s_a[1]  s_a[2]

page 124 図6.9 3行目
  (誤) n[0][0]    n[1][0]    n[2][0]
  (正) s_a[0][0]  s_a[1][0]  s_a[2][0]
 
page 146 問題1 プログラムリスト9行
  (誤) void SetAge(int a){*age = a};
  (正) void SetAge(int a){*age = a;}

page 158 ↓ 9〜11行
  (誤) このメンバ関数は、別の CMan クラスのオブジェクトの name を関数を
       呼び出したオブジェクトの name に連結し、更新済みのオブジェクトを
       戻す働きをするものとます。この関数を用いると以下のように連結結果
       を出力することが可能になります。

  (正) このメンバ関数は、他の CMan オブジェクトの参照を引数として受け、
       この引数が示すオブジェクトの name を、自オブジェクトの name に連
       結し、更新済みの自オブジェクトの参照を戻す働きをするものとします。
       この関数を用いると以下のように連結結果を出力することが可能になり
       ます。

page 190 ↓ 11行目 
  「また仮想関数の場合は、基本クラスの関数と派生クラスの関数は厳密に関数
  の型が一致していなくてはなりません。」

  (参考) 仮想関数の置き換え (override) に関するこのような従来の要求は、'
         95年3月時点の ANSI/ISO 決議(*) において、戻り値に関しては型が違っ
         ていても置き換えが可能なように緩められた。

         (*)ANSI X3J16 委員会, ISO WG21 委員会の共同による C++ 規格草案
         の作業文書に対する主要決議
 

解答の訂正

5章 問題5 解答
  (誤)
     0, 1, 2, 3, 4,
     0, 0, 0, 0, 0,
  (正)
     1, 2, 3, 4, 5,
     1, 1, 1, 1, 1,

6章 問題3 解答
  5行目: (誤) if (a[*p] > a[*max_p]) max_p = p;
         (正) if (*p > *max_p) max_p = p;
  7行目: (誤) cout << "max " << a[*max_p] << '\n';
         (正) cout << "max " << *max_p << '\n';

7章 問題9 解答
  5行目: (誤) return -m.name[i];
         (正) return 0;
  


"岡部のトップページ"へ