标签: nested-class

C#中的内部类

直到最近,我还没有说过普通类和内部类/子类之间存在差异.

内部类的实例与其包含类的实例之间的关系是什么,内部类的目的/使它们与众不同的目的是什么?

c# nested-class

4
推荐指数
2
解决办法
2615
查看次数

从Inner类的实例访问外部类属性

给出以下代码:

public class Outer
{
   public final int n;
   public class Inner implements Comparable<Inner>
   {
      public int compareTo(Inner that) throws ClassCastException
      {
          if (Outer.this.n != Outer.that.n) // pseudo-code line
          {
               throw new ClassCastException("Only Inners with the same value of n are comparable");
//...
Run Code Online (Sandbox Code Playgroud)

我可以用我的伪代码行替换什么,以便我可以比较Inner类的两个实例的n值?

尝试明显的解决方案(n != that.n)不编译:

Outer.java:10: cannot find symbol
symbol  : variable n
location: class Outer.Inner
                    if (n != that.n) // pseudo-code line
Run Code Online (Sandbox Code Playgroud)

java nested-class

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

我们什么时候在C#中使用嵌套类

想知道何时在C#中使用嵌套类是正确的?我们是否有使用它的事件是不合理的,因此不正确?

如果你能给出两种情况的例子谢谢

c# nested-class

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

是否允许服务嵌套到应用程序中?

我让我的应用程序执行其应用程序(保留记录,处理单例等...),我有一个嵌套服务,将处理套接字连接.我以前在它自己的类中有过服务,但是当我提高它的效率时,我认为将它移到应用程序中是一个好主意.我更新了清单:

<service android:name="com.arm.core.ArmApplication$IOService"/> 
Run Code Online (Sandbox Code Playgroud)

我认为这是声明嵌套服务的正确方法,但我得到了一个InstantiationException.服务是否需要是静态的,或者我不允许将服务嵌套到另一个类中?

04-15 14:11:53.167: ERROR/AndroidRuntime(18379): FATAL EXCEPTION: main
04-15 14:11:53.167: ERROR/AndroidRuntime(18379): java.lang.RuntimeException: Unable to instantiate service com.android.appion.arm.core.AppionApplication$IOService: java.lang.InstantiationException: com.android.appion.arm.core.AppionApplication$IOService
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at android.app.ActivityThread.handleCreateService(ActivityThread.java:3102)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at android.app.ActivityThread.access$3300(ActivityThread.java:135)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2202)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at android.os.Looper.loop(Looper.java:144)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at android.app.ActivityThread.main(ActivityThread.java:4937)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at java.lang.reflect.Method.invokeNative(Native Method)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at java.lang.reflect.Method.invoke(Method.java:521)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at dalvik.system.NativeStart.main(Native Method) …
Run Code Online (Sandbox Code Playgroud)

service android manifest nested-class

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

在矢量<>中嵌套向量<>的错误

我有嵌套向量中向量问题,二维数组在C相当于我已经试过代码演示这张贴在众多的网站,都无济于事.

class Board
{
    public:
        vector< vector<Cell> > boardVect; //Decalre the parent vector as a memebr of the Board class    

        Board()
        {
            boardVect(3, vector<Cell>(3)); //Populate the vector with 3 sets of cell vectors, which contain 3 cells each, effectivly creating a 3x3 grid. 

        }
};
Run Code Online (Sandbox Code Playgroud)

当我尝试编译时,我收到此错误:

F:\ main.cpp | 52 |错误:无法匹配调用'(std :: vector>)(int,std :: vector)'

第52行是: boardVect(3, vector<Cell>(3));

在使用3个向量类构造父向量时,是否出现错误?

c++ class vector nested-class

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

如何在C++中自定义嵌套类的方法

我有一个嵌套类Inner_vector的A类,

class A: 
{
public: 
  class Inner_vector:public Vector
    {
      bool append(const class Element& element);
    };
};
bool A::Inner_vector::append(const class Element& element)
{
   add(element);
}
Run Code Online (Sandbox Code Playgroud)

现在我想从A派生一个子类,并自定义内部类"Inner_vector"的"append"和"delete"方法(主要是添加一个新操作),以便调用自定义操作.我怎么能这样做?我是否还应该从A :: Inner_vector中的Child_A中派生一个新的嵌套类作为以下代码

class Child_A: public A
{
public: 
  class Inner_Child_vector : public A::Inner_vector
    {
      bool append(const class Element& element);
    };
};
bool Child_A::Inner_Child_vector::append(const class Element& element)
{
   A::Inner_vector::append();
   my_new_operation();
}
Run Code Online (Sandbox Code Playgroud)

或者我不需要从A :: Inner_vector派生并直接重写它?

我非常感谢任何帮助和评论.

c++ inheritance nested-class inner-classes

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

引用静态内部类中的非静态变量

我需要从静态类中的方法引用顶级类的变量.

此方法应该作用于顶级类的唯一实例,因此我觉得我不应该在静态类中实例化顶级类.

基本上我想要的东西

public class TopLevel{
   // private
   int innerV

   public static class Inner implements X {
     for(i=0; i<innerV,i++){
         doSomething 
     }
   }
}
Run Code Online (Sandbox Code Playgroud)

是否可以this.innerVfor循环和类似的地方说出或类似的东西?

java oop nested-class inner-classes

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

C++子类是否可以共享相同的模板?

子类是否可以共享相同的模板?例如:

template <class T>
class A
{
private:
  T _aObj;
public:
  class B
  {
  public:
    T _bObj;
  };
};
Run Code Online (Sandbox Code Playgroud)

哪里可以使用T AB

当我尝试这个时,我收到以下错误:

错误:A :: B不是模板

c++ templates scope nested-class

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

为什么不将嵌套类设为静态?

如果我有一个嵌套类的类,为什么你不希望它是静态的?是否有一种方法可以让同一个类的两个实例拥有不同的嵌套类?

例如:

class MyClass {  
    public static class myInnerClass {

    }
}
Run Code Online (Sandbox Code Playgroud)

java nested-class

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

从嵌套类的函数访问父类的非静态成员

我试图在论坛中窥探一个类似的问题,这可能会帮助我取得成功.

我的C++程序中有一个嵌套类.我试图从嵌套类中的函数访问父类的变量,但我遇到以下错误

ERROR: A non static member reference must be relative to a specific object
Run Code Online (Sandbox Code Playgroud)

我试图访问的变量受到保护,嵌套类是公共的(它的功能也是如此)

以下是描述(或努力)该场景的代码片段

头文件

class A
{
    protected:
        D x;

    public:

        int func1(int a);

        class B : protected C
        {
            int func2(int a);   
        }
}   
Run Code Online (Sandbox Code Playgroud)

CPP文件

int A::func1(int a)
{
    x = 5;
    B z;
    int b = z.func2(a);
}

int A::B::func2(int a)
{
    int c = x.getValue(a);      /* ERROR: A non static member reference 
                                   must be relative to a specific object */
}
Run Code Online (Sandbox Code Playgroud)

从某个地方

A …
Run Code Online (Sandbox Code Playgroud)

c++ access-modifiers nested-class

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