After I post my question, I guess that the original statement means the
specific access word before class derivation. It can change the access
level in the derived class. This can be called a cast?
class Foo
{
public:
Foo() { std::cout << "Foo's constructor" << std::endl; }
};
class Bar : public Foo
or
class Bar : protected Foo
or
class Bar : private Foo
{
public:
Bar() { std::cout << "Bar's constructor" << std::endl; }
};