小编Zac*_*ery的帖子

为什么java Iterator接口应该实现为内部类?

我最近读了一本书"The Java Tutorials"第3版.它如图所示讨论了内部类的实现.

在第3段中,它说"Stack类本身不应该实现Iterator接口,因为......".

我找不到Stack类不应该实现Iterator的任何原因.给出的理由不是透彻的.

你能解释一下吗?

内心阶级 内心阶级

java iterator inner-classes

9
推荐指数
1
解决办法
6862
查看次数

C++ Child类不能从Father类继承私有成员?

我正在使用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中的内存.

  1. B怎么能在其内存中存储A :: a而从不能访问它?
  2. C++ Primer一书中说,我们可以恢复基类成员的访问属性但不能更改它.在这里,我的代码显示我可以在B中将A :: b的访问属性从protected更改为public.为什么?

这是代码:

#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)

c++ inheritance private

1
推荐指数
1
解决办法
3505
查看次数

标签 统计

c++ ×1

inheritance ×1

inner-classes ×1

iterator ×1

java ×1

private ×1