1枚のスクリーンショットに纏めてみました。右の方がStudentクラスと派生クラスのXstudentクラス。実行画面。
左の方がstudent.cppとメインのC++Nyu2033Pb.cpp。望洋先生の著書「C++入門」からです。
チョット分からなかったのが、Shibata.Print();でXstudentのPrint()が呼ばれるかです。1行下の
Masuyan.Student::Print();の例にならえば、Shibata.Xstudent::Print();となりそうです。それでも問題ない
ように思います。
XstudentをprivateでStudentクラスから派生させてみました。上の図でコメントアウトしたところが、エラーになります。
ではどうしても、基本クラスのメンバーへアクセスできないんでしょうか?次の疑問です。
結論から言うと、派生クラスから基底クラスのメンバ変数を変更できます。但し、直接は出来ないので
基底クラスの関数を呼んで、変更すると言うことになりますね。