嵌套类

先看一种情况:注意橘色的部分,是用的类名定义

#include <iostream>
using namespace std;

class Hen
{
public:
    void display()
    {
        cout<<"this is Hen display()"<<endl;
    }
    class Nest
    {
    public:
        int Egg;
        void display()
        {
            cout<<"this is Nest display()"<<endl;
        }
    };
};

int main()
{
    Hen hen;
    hen.display();
    Hen::Nest nest;
    nest.display();

    return 0;
}

另外一种情况:

#include <iostream>
using namespace std;

class Nest
{
public:
    int Egg;
    void display()
    {
        cout<<"this is Nest display()"<<endl;
    }
};

class Hen
{
public:
    void display()
    {
        cout<<"this is Hen display()"<<endl;
    }
    Nest nest;
};

int main()
{
    Hen hen;
    hen.display();
    hen.nest.display();

    return 0;
}


本文 由 cococo点点 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:cococo点点 http://www.cnblogs.com/coder2012

时间: 2025-01-01 04:14:28

嵌套类的相关文章

Java进阶学习(七) 嵌套类

到现在为止,我们都是在Java文件中直接定义类.这样的类出现在包(package)的级别上.Java允许类的嵌套定义. 这里将讲解如何在一个类中嵌套定义另一个类. 嵌套 内部类 Java允许我们在类的内部定义一个类.如果这个类是没有static修饰符,那么这样一个嵌套在内部的类称为内部类(inner class). 内部类被认为是外部对象的一个成员.在定义内部类时,我们同样有访问权限控制(public, private, protected). 在使用内部类时,我们要先创建外部对象.由于内部类是

浅析Java中的嵌套类和内部类

以前看<Java编程思想>的时候,看到过嵌套类跟内部类的区别,不过后来就把它们的概念给忘了吧.昨天在看<数据结构与算法分析(Java语言版)>的时候,又遇到了这个概念,当时就很大的疑惑:嵌套类跟内部类有什么区别?只有是否有关键字static的区别吗? 所以今天找了个时间查了一下两者的详细区别,总结在这篇博客中,既方便自己的复习和学习,也启示他人吧. 1,概念: 定义在一个类内部的类,叫作"嵌套类".嵌套类分为两种:static的和非static的.后者又有一个专

对Java嵌套类的讨论

摘要:与字段和方法类似,Java允许类是其它类的成员.在这里,我们将嵌套类分为4种--嵌套顶级类(nested top-level classes),成员内部类(instance inner classes),本地内部类(local inner classes)和匿名内部类(anonymous inner classes). 在教授Java时,我经常发现学生尝试在方法中声明其它的方法.不过,与Pascal语言不同--Pascal允许嵌套声明过程procedures(与方法类似),而Java是不允

深入理解Java嵌套类和内部类

一.什么是嵌套类及内部类? 可以在一个类的内部定义另一个类,这种类称为嵌套类(nested classes),它 有两种类型: 静态嵌套类和非静态嵌套类.静态嵌套类使用很少,最重要的是非静态嵌套 类,也即是被称作为内部类(inner).嵌套类从JDK1.1开始引入.其中inner类又 可分为三种: 其一.在一个类(外部类)中直接定义的内部类; 其二.在一个方法(外部类的方法)中定义的内部类; 其三.匿名内部类. 下面,我将说明这几种嵌套类的使用及注意事项. 二.静态嵌套类 如下所示代码为定义一个

C++ 静态成员变量 嵌套类分配回收内存

嵌套类分配回收内存: #include <stdio.h> #include <assert.h> class CA { public: inline static CA *GetInstance(void) { assert(m_instance != NULL): return m_instance; } void Print(void) { puts("主类的Print函数运行看看"): } class Garbage//用来分配内存的嵌套类 { publ

java嵌套类和内部类详解

可以在一个类的内部定义另一个类,这种类称为嵌套类(nested classes),它有两种类型:静态嵌套类和非静态嵌套类.静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为内部类(inner).嵌套类 从JDK1.1开始引入.其中inner类又可分为三种: 其一.在一个类(外部类)中直接定义的内部类: 其二.在一个方法(外部类的方法)中定义的内部类: 其三.匿名内部类. java嵌套类(Nested Classes)总结 http://www.cnblogs.com/aigongsi/a

scala 学习笔记(04) OOP(上)主从构造器/私有属性/伴生对象(单例静态类)/apply方法/嵌套类

一.主从构造器 java中构造函数没有主.从之分,只有构造器重载,但在scala中,每个类都有一个主构造器,在定义class时,如果啥也没写,默认有一个xxx()的主构造器 class Person { var name: String = _ /** * 从构造器 * @param name */ def this(name: String) = { this //注意:从构造器,必须先调用主构造器 this.name = name; } override def toString = { "

java当中类里面嵌套类是内部类,那么方法嵌套方法是内部方法吗

问题描述 java当中类里面嵌套类是内部类,那么方法嵌套方法是内部方法吗 java当中类里面嵌套类是内部类,那么方法嵌套方法是内部方法吗内部类和内部方法有什么特点 解决方案 没有方法嵌套方法这种说法,方法只能相互调用,方法的定义只能在类中.内部类是依附外部类而存在的,通常是为了隐藏类的某些信息,没有听说过内部方法这个概念啊. 解决方案二: Java类的嵌套:外部类的方法不能访问内部类的变量Java 中的方法内部类[Java]内部类及其调用方法 解决方案三: 没有方法嵌套方法这种说法,方法只能相互

string-newtonsoft解决不了嵌套类的反序列化,求解答!

问题描述 newtonsoft解决不了嵌套类的反序列化,求解答! public class Total { public int total { get; set; } internal List result { get; set; } } public class Person { internal string Name { get; set; } internal int Age { get; set; } } 运行到此处时,List<Person> zhen = to.result;

Java嵌套类(Nested Classes)总结

Nested Classes定义 在java语言规范里面,嵌套类(Nested Classes)定义是: A nested class is any class whose declaration occurs within the body of another class or interface. A top level class is a class that is not a nested class.  说的简单一点,就是定义在类里面的类.一般把定义内部类的外围类成为包装类(enc