标签: nested-class

为什么我的嵌套类被视为抽象?

我有一个抽象的基类,其中包含一个私有嵌套实现.当我尝试实例化非抽象嵌套实现时,visual c ++给出了以下错误:

错误C2259:'node :: empty_node':无法实例化抽象类(第32行)

据我所知,我已经覆盖了基类的所有抽象成员

代码如下:

using namespace boost;
template<typename K, typename V>
class node {
protected:
    class empty_node : public node<K,V> {
    public:
        bool is_empty(){ return true; }
        const shared_ptr<K> key() const { throw empty_node_exception; }
        const shared_ptr<V> value() const { throw empty_node_exception; }
        const shared_ptr<node<K,V>> left() const { throw empty_node_exception; }
        const shared_ptr<node<K,V>> right() const { throw empty_node_exception; }
        const shared_ptr<node<K,V>> add(const shared_ptr<K> &key, const shared_ptr<V> &value) const {
            return shared_ptr<node<K,V>>();
        }
        const shared_ptr<node<K,V>> remove(const shared_ptr<K> …
Run Code Online (Sandbox Code Playgroud)

c++ abstract-class nested-class

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

内部类中顶级类成员的可访问性?

我有一个关于成员内部类的顶级类的可访问性的查询.我刚刚读到了本地或匿名内部类只能访问最终变量的原因.原因是JVM将这两个类作为完全不同的类处理,因此,如果一个类中的变量值发生变化,则无法在运行时反映出来在另一个类文件中的时间.

然后,我的问题是内部成员类(非静态)如何能够访问顶级类成员的成员,因为JVM仍然将这两个类视为不同的类文件?如果顶级类的成员变量的值发生变化,那么如何在运行时反映内部类的类文件呢?

java accessibility nested-class inner-classes

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

创建命名空间 - >类 - >嵌套类?要么

我正在阅读有关创建类和嵌套类的内容,以确定哪种方法适合我的需求,但我找不到类似于我需要的东西(或者无法理解它;)).

我会给你们一个(几乎)真实的例子:

假设我拥有一家生产各种车辆的工厂.所以,我的命名空间就是Factory我的身材.

现在,让我们说工厂制造汽车,船只和飞机.所以我将Factory使用这些名称为我的命名空间添加三个类.

这是我理解其他方法的问题所在:

我在三种类型的车辆之间有一些共同点.例如,它们都有一个引擎(可能是不同的HP或我理解的形状是引擎的属性,但它们都有引擎).此外,汽车和飞机有门(有时船也有).另一方面,它们也有一些独特的东西(例如飞机有螺旋桨可能有不同的尺寸或形状).

有人可以描述一下我在代码中所说的内容,以便了解它们之间的区别吗?

c# namespaces class nested-class

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

为什么这个程序不能在VC++ 2008Express中编译?

该程序在TC++ 3.0上编译和运行.

为什么这个程序不能在VC++ 2008Express中编译?

#include <iostream>

using namespace std;

class MyClass
{
private:
    class MyNestedClass
    {
    private:
        int myInteger;

    public:
        MyNestedClass(int a)
        {
            myInteger = a;
        }
        void Show()
        {
            cout<<myInteger;
        }
    };
};

int main()
{
    MyClass::MyNestedClass myNestedClassObject(100);

    myNestedClassObject.Show();
}
Run Code Online (Sandbox Code Playgroud)

显示以下消息:

1>------ Rebuild All started: Project: Test, Configuration: Debug Win32 ------
1>Deleting intermediate and output files for project 'Test', configuration 'Debug|Win32'
1>Compiling...
1>Static_Data_Member.c
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdio(39) : error C2143: syntax error : missing '{' before ':'
1>c:\program …
Run Code Online (Sandbox Code Playgroud)

c++ nested-class

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

GC可以在这里收集我的变量,即使我在另一个线程中使用它吗?

假设我创建了这个Test类的实例,它使用嵌套类启动一个新的Thread:

public class Test
{
    private String _str;

    public Test()
    {
        _str = "Hello world !";
        new TestThread().start(); // Start a background thread
    }


    private class TestThread extends Thread
    {
        public void run()
        {
            while (true)
            {
                System.out.println(_str);
                Thread.sleep(1000);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我删除对我的Test实例的任何强引用,会发生什么?后台线程仍然存在,并将继续打印_str变量,但我担心GC可以随时收集它.

当然我可以创建引用的本地副本(使用构造函数:public TestThread(String str)并将其存储在局部变量中)但我不知道这是否有必要.

java multithreading nested-class

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

SCSS - 如何表示

CSS中的嵌套类

.wrapper .widecolumn {
    width: 983px;
}
Run Code Online (Sandbox Code Playgroud)

可以在SCSS中重新播放

.wrapper {
    .widecolumn {
        width: 983px;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是如何表示这个?:

.wrapper.widecolumn {
    width: 983px;
}
Run Code Online (Sandbox Code Playgroud)

sass nested-class

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

java中静态嵌套类的成员

如果我在java中的静态嵌套类中定义一个成员变量,如下所示:

public class Outer {

    public static class StaticNestedClass {
         private int mMember = 3;
    }

}
Run Code Online (Sandbox Code Playgroud)

mMember会被解释为静态因为它的类是静态的吗?java中的静态嵌套类成员怎么样?

提前致谢.

java nested-class

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

具有外类型参数的内部类

我想创建一个内部类,参数化外部类的类型.

我应该首先说,我意识到可能有更好的方法来实现我想要的结果,我愿意接受那些建议,但我将描述现状:

我有一个类Node<T>和一个内部类声明的尝试如下:

public class Node<T> {
    ...

    class NodeIterator<Node<T>> implements Iterator {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这会在编译期间导致语法错误,我推断这是由于我使用外部类,虽然我不确定这一点.

谢谢!

java generics nested-class

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

从外部类引用内部类实例

我刚刚开始学习Java教程,我决定花一些时间玩嵌套类.

我制作的工作副本是一个Bicycle类,其中可以包含零个或多个Rider类实例.在Bicycle的一个实例中,我希望能够与Riders的实例一起工作.

在下面的例子中,我的Bicycle有一个ArrayList来保存它的Riders,但我想避免在可能的情况下维护这个列表.

我的问题是这个.还有另一种方法来引用骑自行车的Rider实例,还是我必须维护自己的列表?

//Outer Class contains zero or more Inner Classes
public class Bicycle {

    //ArrayList of Inner Class instances
    private List<Rider> Riders = new ArrayList<Rider>();

    class Rider {
        private String riderName;

        protected Rider(String newRiderName) {
            this.riderName = newRiderName;
        }

        protected String GetRiderName(){
            return riderName;
        }

    }

    //When creating an Outer Class, we can instantiate zero or more Inner Classes, by name
    public Bicycle(String... startingRiderName) {

        //Loop through all Inner Class instance names and create an Inner Class for …
Run Code Online (Sandbox Code Playgroud)

java nested-class

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

无法访问类外的嵌套类

我知道将一个类嵌套在另一个类中并不是一个好习惯,但是以下只是为了好玩.

我有以下代码

namespace PlayIt
{
    class Class1
    {
        class Class2 : Class1
        {
        }
    }

    class SomeOtherClass
    {
        Class1 objClass1 = new Class1();
        Class2 objClass2 = new Class2();
    }
}
Run Code Online (Sandbox Code Playgroud)

我能够创建class1的对象而不是class2的对象,为什么呢?有没有办法访问class1之外的class2

c# class nested-class

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

当我尝试从嵌套类访问外部类的成员数据时,为什么会出现分段错误?

我有一个类Outer和一个嵌套类Inner.Inner有一个方法'print',它试图访问类Outer的数据成员.代码编译得很好,但是当我尝试运行程序时出现了分段错误错误.

#include <iostream>

class Outer{
public:
  Outer();
  ~Outer();

  class Inner{
  public:
    Inner(Outer *parent){}
    void print(){std::cout<< parent-> data <<std::endl;}
  private:
    Outer *parent;
  };
  Inner *obj;

private:
  int data;
};

Outer::Outer(): data(99), obj(new Inner(this)){}
Outer::~Outer(){delete obj;}

int main(){
  Outer outer;
  outer.obj->print();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我不确定是什么问题,因为我已经将'this'指针传递给内部对象.

代码使用c ++ 11标志用g ++ 4.8.2编译.

c++ nested-class

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