可能重复:
默认类继承访问
我知道我可以在从超类声明子类时设置保护级别,如下所示:
class Dog : public Pet {
*blah, blah, blah*
}
Run Code Online (Sandbox Code Playgroud)
但是在这种情况下保护级别默认为什么?
Class Dog: Pet {
*blah, blah, blah*
}
Run Code Online (Sandbox Code Playgroud)
对于一个类,它是私人的
class Dog: Pet // Pet is inherited privately.
{}
Run Code Online (Sandbox Code Playgroud)
对于结构,它是公共的.
struct Dog: Pet // Pet is inherited publicly.
{}
Run Code Online (Sandbox Code Playgroud)
简单测试:
class Pet {};
class DogClass: Pet {};
struct DogStruct: Pet {};
int main()
{
DogClass dogClass;
// Pet& pet1 = dogClass; This line will not compile.
DogStruct dogStruct;
Pet& pet2 = dogStruct;
}
Run Code Online (Sandbox Code Playgroud)