C++ 前置声明

(一)class的前置声明

  class的前置声明有两种。

pre.h

class PreA
{};
main.h

class PreA;
class Main
{};


//或者
class Main
{
   class PreA* A; 
};

(二) struct前置声明

  struct的前置声明只能用第一种。

(三) 有typedef的前置声明

  

Pre.h
    a.h  
      
    class object  
    {  
        ...  
    };  
      
    struct myStruct  
    {  
        ...  
    };  
      
    typedef object defMyObject;  
    typedef myStruct defMyStruct;  
Main.h

typedef class object defMyObject;  
typedef struct myStruct defMyStruct;  

//或者
class object;  
typedef object defMyObject;  
struct myStruct;  
typedef myStruct defMyStruct;  

 

posted @ 2018-01-25 11:30  Litmin  阅读(1992)  评论(0编辑  收藏  举报