我可以在函数中调用该类中的类吗?

Can i call a class in my function within said class?

本文关键字:调用 函数 我可以      更新时间:2023-10-16

因为我对 C++ 和类有点生疏,我不确定我是否只是犯了一些重大错误,或者这是不可能的,也许这里的任何人都可以让我更聪明。

我正在尝试为我的"possition"类创建一个比较函数。这样我以后就可以调用 pos1.compare(pos2( 并得到一个布尔值。 由于某种原因它无法编译,我认为这可能是因为我尝试在它内部调用类?

我使用c ++,windows,我用minGW编译。

class myPossition{
public:
int x;
int y;
private:
myPossition( int nx, int ny ){
x = nx;
y = ny;
}
bool compare( myPossition compPos ){
if(compPos.x==x&&compPos.y==y)return true;
return false;
}
};

我假设"不起作用"是指您编写了如下代码:

int main() {
myPosition a(1, 2);
myPosition b(3, 4);
std::cout << a.compare(b) << std::endl;
}

它没有编译。 答案是您应该将myPosition( int nx, int ny )bool compare( myPosition compPos )都放入public部分,而不是private

您可以在此处阅读有关访问说明符的更多信息 https://en.cppreference.com/w/cpp/language/access