1. ホーム
  2. c++

デフォルトの継承アクセス指定子

2023-11-14 08:18:37

質問

例えば、2つのクラス AB というように、クラス B を継承する A を以下のように継承します。

class B: public A

この場合、私がやっているのは public を継承しています。

先ほどのコードを以下のように書くと

class B: A

ここではどのようなタイプの継承を行うのでしょうか (すなわち、public)?言い換えれば、デフォルトのアクセス指定子は何でしょうか?

ここでちょっと質問です。前のコードの行を呼び出すか statements ? 特に私が覚えていることは、私が読んだ 怖くないC++: 頭が良くなる初心者向けガイド という本を読みました。 statements で終わるものは ; . これについてはどう思いますか?

ありがとうございます。

どのように解決するのですか?

既存の回答へのちょっとした補足です: 継承のデフォルトの型は、継承する(派生する)型に依存します ( B の例) に依存し、継承されるもの (ベース) には依存しません ( A のように)。

例えば

class A {};
struct B: /* public */ A {};

struct A {};
class B: /* private */ A {};