博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

有关C++内部类的一段有趣代码

Posted on 2011-10-13 18:18  张武生  阅读(460)  评论(0)    收藏  举报
#include<stdio.h>
#include<time.h>
#include <list>
#include <stack>
#include <iostream>
#include <vector>
#include <string>
#include <time.h>

using namespace std;

class OuterClass
{

private:
    int  m_outVar;

public:
    OuterClass ( int n )
    {
        m_outVar = n;
    }

    class Nest
    {

    public:
        Nest ( OuterClass& b )
        {
            cout << b.m_outVar << endl;
        }
    };


    void ff()
    {

        class DDD
        {

        public:
            DDD()
            {
                cout << "DDD::DDD" << endl;
            }

        public :
            int m_dddVar;
        };

        static DDD d;
    }
};


int main ( void )
{

    class DD: public OuterClass
    {

    public:
        DD() : OuterClass ( 5 )
        {
            cout << "DD::DD" << endl;
        }

    public :
        int m_dddVar;
    };

    static DD d;

    OuterClass b ( 9 );

    OuterClass::Nest n ( b );

    b.ff(); //注释掉,看看结果

    return 0;
}