【发布时间】:2011-02-26 09:46:30
【问题描述】:
刚刚看到一个教程说:
Class Dog
{
private string Name;
}
Class SuperDog:Dog
{
private string Mood;
}
然后有一个 UML 显示 SuperDog 也将继承 Name。我试过了,但对我来说似乎只有公共成员是继承的。至少我不能访问 Name 除非它被声明为 public。
【问题讨论】:
-
@Tim Goodman:我假设您的意思是“如果它们可访问”而不是“如果它们被继承”。
-
派生类继承其基类的成员,无论访问说明符可能是什么。后者仅影响可以访问它们的人。
struct A{ private: //protected: //public: int x; }; struct B : A{ private: int x; }; int main(){ std::cout << sizeof(A) << '\n'; // 4 on my machine std::cout << sizeof(B) << '\n'; // 8 on my machine std::cout << '\n'; }
标签: c# inheritance private