プライベート継承中に、基底クラスのパブリック メンバー変数またはメンバー関数を、Derived のパブリック アクセス指定子に戻すことができます。しかし、Base クラスの public コンストラクターに対して同じことができるでしょうか?
以下のようにしてみましたが、
#include <iostream>
using namespace std;
class base
{
public:
base(){}
void print(){ puts("In print"); }
};
class derived : private base
{
public:
base::print;
base::base; /* Throws an error - Declaration doesnt declare anything*/
void display(){ puts("In display"); }
};
int main()
{
derived dObj;
}
「宣言は何も宣言していません」というエラーがスローされます。私が試みていることは有効ですか?