like this code
class Try
{
public:
Try() = default;
int i = 0;
};
class B1 : private Try
{
public:
B1() = default;
using Try::Try();
using Try::i;
};
class C1 : public B1
{
public:
Try a; //tell me:'Try' is a private member of 'Try'
void print()
{std::cout << i << std::endl;}
//Access to this I is allowed;
};
the Try a is a local object , not a part of C1, why error?
As long as it is a direct base class of private inheritance, can it not be possible to define an indirect base class object in its derived class? Is it because the constructor cannot be used or is it for other reasons?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…