我是C ++的新手,我正在使用VC ++ 2008,我已经创建了一个带有带有gui设计的pictureBox的表单,位于Form1.h中。
为了代码稳定性,我试图将gui和处理类分开,所以我在process.h中创建了一个新类,其中包含更改pictureBox中图像的代码,问题是我无法从进程中访问pictureBox对象.h因为它位于不同的班级。
注意: 表单的类名是Form1里面的命名空间try, 进程的类名是processImage
我试图在类Form1中创建一个名为setImage()的setter函数来设置imageBox obj的图像路径,但我不能让Form1的对象调用该函数,因为Form1类是未知的。注意我试图#include“Form1.h”,但它仍然未知。
我的问题有解决办法吗?
感谢您的帮助..
答案 0 :(得分:0)
创建ProcessImage类,并使该类的对象成为Form1类的成员变量。在ProcessImage类中创建setImage公共方法。每当更新图片框中的图像时,请调用此方法。
答案 1 :(得分:0)
我不确定我是否能理解你的问题,但这里有一些提示。
您说您包含Form1.h但Form1仍然不可见。当A包括B和B包括A时可能是问题,可以用前向声明来解决。确保不要忘记名称空间。
A.H:
#include "B.h"
namespace NamespaceB
{
class B; // forward declaration
}
namespace NamespaceA
{
class A
{
NamespaceB::B m_pB;
};
}
B.h:
#include "A.h"
namespace NamespaceA
{
class A; // forward declaration
}
namespace NamespaceB
{
class B
{
NamespaceA::A* m_pA;
};
}