zoukankan      html  css  js  c++  java
  • c、c++ 结构体的嵌套

    c、c++ 结构体的嵌套


    /************************************************************************/
    /* 嵌套结构体                                                                    
     * C++
     **/
    /************************************************************************/
    
    
    struct A 
    {
    private:
    	int a1[20];
    public:
    	void initialize();
    	struct B 
    	{
    	private:
    		A *b;
    		int *p;
    	public:
    		void initialize(A *a);
    		void next();
    		int read;
    		void set(int i);
    	};
    	friend A::B;
    };
    
    void A::initialize()
    {
    	memset(a1, 0, sizeof(a1));
    }
    void A::B::initialize(A *a)
    {
    	b = a;
    	p = a->a1;
    
    }
    
    void A::B::set(int i)
    {
    	*p = i;
    }
    /*
    void main()
    {
    	A a;
    	A::B b1,b2;
    	int i;
    	a.initialize();
    	b1.initialize(&a);
    	b2.initialize(&a);
    
    	for (i =0; i<20; i++)
    	{
    		b1.set(i);
    		b2.set(i);
    	}
    }
    
    
    
    
    
    /************************************************************************/
    /* C
     * 嵌套结构体
     * 
     * */
    /************************************************************************/
    
    
     typedef struct A
    {
    	int year;
    	int month;
    	int day;
    };
    
    typedef struct B 
    {
    	string name;
    	int age;
    
    	union{
    		A aa;
    	}xy;
    
    	struct A aa1;
    };
    
    
    void main()
    {
    	B *b1 =NULL;
    	b1->xy.aa.day =1991;
    	b1->aa1.month = 7;
    	
    	getchar();
    
    }


  • 相关阅读:
    组合模式
    HashMap,ArrayList扩容
    Maven入门使用(一)
    OutputStreamWriter API 以及源码解读
    java.io.BufferedWriter API 以及源码解读
    java.io.writer API 以及 源码解读
    自定义redis序列化工具
    策略模式
    Spring下redis的配置
    简单工厂模式
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5150842.html
Copyright © 2011-2022 走看看