#include <iostream>
using namespace std;
class B
{
public:
int x;
void print()
{
cout<<x;
}
};
class D:private B
{
};
int main()
{
D d;
d.print();
}
印刷方法にアクセスできないのはなぜですか? B
の印刷方法はD
のプライベートプロパティになりますので、D
のオブジェクトを使用してアクセスする必要があります。 エラーは次のとおりです。プライベートに継承された派生クラスのオブジェクトは、基本クラスメンバ関数にアクセスできません。
'B'は 'D'のアクセス可能なベースではありません。
プライベートはプライベートです。なぜあなたはprivateメンバー関数にアクセスできると思いますか?結局、非公開です。 – Rakete1111
プライベートメンバー関数はクラス内でアクセスできませんか? – AlokI
@ AlokI、あなたはクラス内でアクセスしていません。 –