我想知道是否有任何方法可以从班级外部访问班级的私人成员。我会解释我的问题。
我有一个 .hpp 文件,其中包含类的定义以及它的私有成员和公共函数(这是我想要导出的唯一一个)。在对应的 .cpp 中,我必须使用一些“支持”功能,该功能需要访问 .hpp 中定义的类的私有成员。
这是我的代码的一部分:
--- .hpp ---
namespace vision {
class CameraAcquisition {
/* MEMBERS */
CvSize size;
CvCapture *device;
CvScalar hsv_min,hsv_min2,hsv_max,hsv_max2;
/* METHODS */
public:
CameraAcquisition();
~CameraAcquisition();
int findBall();
};
}
--- .cpp ---
#include "CameraAcquisition.hpp"
using namespace vision;
IplImage *grabFrame() {
// code here
}
IplImage *convertToHSV(IplImage *origin) {
// code here
}
IplImage *calculateThresholdedImage(IplImage *converted) {
// code here
}
我需要的是让这三个函数访问CameraAcquisition 类的成员。有什么办法吗?任何建议将不胜感激。谢谢你们
编辑对不起,我在这里忘记了一条重要信息。在源文件中,findBall() 必须调用这些方法。我定义了这些方法以使代码更易于阅读。我不能在类定义中声明这些方法,因为我不想导出它们。如果我在“私有”块中声明它们一切正常,但可能不正确(我看不出提供带有私有方法的头文件的意义。