自己定义两个类A和B,类A中定义了一个返回类型是指向B类对象的一个指针的函数C,这样有什么错误吗? class A{public: A(); ~A(); B* C();};class B{public: B(); ~B();};为什么在编译A.CPP的时候会有问题呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 #include "B.H"class A { public: A(); ~A(); B* C(); }; 点击"结贴去...",然后就在Edit上添写分数,然后再结贴就OK了 问题变了。。诺类定义改成这样呢。。class A{public: A(); ~A();public: B* getB();}class B{public: B(); ~B();public: A* m_pA; A* SetBA();}类A的头文件中加入B.h,类B 的头文件中加入A.h,这样好象通不过编译耶。。 在头文件中不要用#include "A.h",用class A;进行预定义,在cpp文件中#include "A.h" 用宏防止重复包含:在A.h中:#ifndef MYHFILE_A_H#define MYHFILE_A_H#include <B.h>......#endif在B.h中:#ifndef MYHFILE_B_H#define MYHFILE_B_H#include <A.h>......#endif 尽量不要在一个类的头文件中包含另一个类的头文件。这样写:// A.hclass B;class A { public: A(); ~A(); B* getB(); };// B.hclass A;class B { public: B(); ~B(); A* m_pA; A* SetBA(); }; 再补充一下,如果cpp文件中使用了某个类,是要在该cpp中包含对应的头文件的。 vc中使用dos命令解压zip文件 OnKeyDown问题 开关的实现 求助~~~~大侠帮忙啊~~~关于窗口中对话框的重绘问题 如何对CTypedPtrArray对象进行序列化? 调用MFC静态DLL中引用参数出错!一经解决,立即结贴! 如何去掉单文档界面左上角的图标? 我现在有一窗口的句柄,请问该如何才能使得这个窗口内的所有控件都可用呢? 敢问大神们 到底有没有中文版的MSDN 如何在link时实现静态连接? FILETIME怎么转成time_t 非连接模式的socket阻塞时间
class A
{
public:
A();
~A();
B* C();
};
class A
{
public:
A();
~A();public:
B* getB();
}
class B
{
public:
B();
~B();
public:
A* m_pA;
A* SetBA();
}
类A的头文件中加入B.h,类B 的头文件中加入A.h,这样好象通不过编译耶。。
#ifndef MYHFILE_A_H
#define MYHFILE_A_H#include <B.h>
.
.
.
.
.
.
#endif
在B.h中:
#ifndef MYHFILE_B_H
#define MYHFILE_B_H#include <A.h>
.
.
.
.
.
.
#endif
// A.h
class B;
class A
{
public:
A();
~A();
B* getB();
};
// B.h
class A;
class B
{
public:
B();
~B();
A* m_pA;
A* SetBA();
};