我最近读了一本书"The Java Tutorials"第3版.它如图所示讨论了内部类的实现.
在第3段中,它说"Stack类本身不应该实现Iterator接口,因为......".
我找不到Stack类不应该实现Iterator的任何原因.给出的理由不是透彻的.
你能解释一下吗?

我正在使用Win8 VC++ 2012.
上面的代码是为了表明在任何情况下子类B都可以访问A :: a.我也不能改变A :: a但是A :: b和A :: c的访问属性.
所以A :: c不是从A继承到B.但sizeof(A)和sizeof(B)分别是12和24,这意味着A :: a DO占用B中的内存.
这是代码:
#include <iostream>
using namespace std;
class A
{
private:
int a;
protected:
int b;
public:
int c;
A(int a, int b, int c): a(a), b(b), c(c)
{
cout << "A: ";
cout << a << " ";
cout << b << " ";
cout << c << endl;
}
};
class B: protected A …Run Code Online (Sandbox Code Playgroud)