博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Visual C++头文件互相包含的解决方案
阅读量:3975 次
发布时间:2019-05-24

本文共 767 字,大约阅读时间需要 2 分钟。

现在我总结一下问题的解决过程和方法:
   方法一:利用友元类
我一共有两个类,由于要在两个类的头文件里互相应用对方,所以,在每一个类的头文件里面现包含另一个类的头文件,然后在该类的定义中声明另一个类为友元类。如下:
    #include "B.h"
    class CA: public CDialog
    {
        friend class CB;
        public:
        
CB* m_b;   //注意一定要是指针类型
    }
在另一个类中可以这样声明:
    #include "A.h"
    class CB: public CDialog
    {
       friend class CA;
       public:
        
CA * m_a;    //注意一定要是指针类型
    }
   
最后关键的是在每一个类的构造函数里
new 一个对方的类出来就ok了!
    方法二:
   
我一共有两个类,由于要在两个类的头文件里互相应用对方,所以,在每一个类的头文件里面现包含另一个类的头文件,然后在该类的定义中声明另一个类为友元类。如下:
    #include "B.h"
    class CA: public CDialog
    {
        friend class CB;
        public:
        
CB* m_b;   //注意一定要是指针类型
    }
在另一个类中可以这样声明:
    class CA;
    class CB: public CDialog
    {
       public:
        
CA * m_a;    //注意一定要是指针类型
    }
   
在cb.cpp文件中包含头文件
#include "ca.h"
最后关键的是在每一个类的构造函数里
new 一个对方的类出来就ok了!
转自:http://hi.baidu.com/030502505/blog/item/4a7eaba2e9cd12aacaefd06f.html/cmtid/11994e2a68a059315243c1b4

转载地址:http://ineki.baihongyu.com/

你可能感兴趣的文章
运放自激问题
查看>>
运放电压和电流负反馈的讨论
查看>>
终于 整明白了中断的工作原…
查看>>
终于 整明白了中断的工作原…
查看>>
终于 整明白了中断的工作原…
查看>>
终于 整明白了中断的工作原…
查看>>
2010年11月19日
查看>>
2010年11月19日
查看>>
TC35i 单片机
查看>>
TC35i 单片机
查看>>
AT 命令详解
查看>>
AT 命令详解
查看>>
AT指令发送PDU中文短信——使用串口…
查看>>
AT指令发送PDU中文短信——使用串口…
查看>>
指针的使用注意事项(个人体…
查看>>
指针的使用注意事项(个人体…
查看>>
~c++中的指针使用注意事项
查看>>
~c++中的指针使用注意事项
查看>>
函数返回值、引用和指针的区别思考
查看>>
函数返回值、引用和指针的区别思考
查看>>