Possible Duplicate:
Pros and cons of using nested C++ classes and enumerations?
考虑以下声明。
class A {
public:
class B{
};
};
没什么特别的。
- 但是这样做有什么好处呢?
- 可能出于什么原因将一个类放入另一个类中?
- 两个类之间没有继承优势。
- 如果将 B 放入 A 内部以共享其私有(private)名称,则 A 对于 B 来说只是一个 namespace ,并且也有理由将 B 设为私有(private)。
你对此有何看法?
最佳答案
从概念上讲,它让程序员知道类 B 与类 A 特定相关。当您在类 A 之外使用类 B 时,必须使用类型 A::B,这会提醒您,每次, B 与 A 相关。这不会添加任何功能,但显示了一种关系。
同样,您根本不必使用继承/组合或类。您可以通过使用结构和函数或多或少地模拟 C 中的类。这只是一种保持代码更清晰、更简单的方法,让程序员更容易地将代码与设计联系起来。类比公共(public)子类更能完成此任务,但这只是一个示例。
如果它是一个私有(private)/ protected 子类(我认为它不在你的示例中),那么显然该类限制了该类及其子类的实现,这可能是需要的(同样是设计方面的)如果该类的唯一用例是该类(可能还有它的子类)的实现。
关于c++ - 内部类声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13246537/