私は約2年前にWalter SavitchのAbsolute C++(第5版)を学びました。この本の中で派生クラスを宣言するための方法があること、親クラスであるC++で派生クラスを定義する方法は?
class ChildClass:Public ParentClass{...}
class ParentClass
{Public:
double getVariable() const;
...}
この本はまた、私はメンバーの定義を変更しない場合は、と言うようなもの私は派生クラスを宣言するとき、親クラスの関数を使用するため、派生クラス宣言で書き直す必要はありません。たとえば、ParentClass
というメンバ変数を評価するdouble ParentClass::getVariable() const
の定義を変更しない場合は、派生クラスChildClass
の宣言に明示的に書き戻す必要はありません。
最近、私はプロジェクトを完成させたいと思っていました。まず、派生クラスの宣言は、あなたがそうでなければ、ParentClass
の前でPublic
を挿入してはならない
class ChildClass:ParentClass{...}
のようになります、コンパイラは文句を言います。第二に、私は、次のコード
childInstance
は
ChildClass
のインスタンスである
childInstance.getVariable()
メインプログラムに機能double ParentClass::getVariable() const
にアクセスすることはできません。
これらは私が見つけた2つの変化です。派生クラスを正しい方法で定義する方法を教えてください。ありがとうございました!
ところで、使用しているコンパイラはCygwin上でgcc 5.4.0です。
[これらの書籍](https://stackoverflow.com/q/388242)のいずれかを好きで、持ち物をビンに投げ入れるべきです。 – user0042
'Public'は' public'と非常に異なるものです。 1つは間違っており、もう1つは正しいです。 –
そして、C++は大文字と小文字を区別する言語であることに注意してください。 'public'は' public'と同じではありません。 – user0042