C++ 我们如何在那个类中使用运算符?
我想在类中编写一个函数,使用我稍后在该类中定义的运算符。但我不知道如何向运算符显示现在必须使用x,y的值。 我看到有人在php中使用$this->func_名称。但在这里我不知道C++ 我们如何在那个类中使用运算符?,c++,class,operator-keyword,C++,Class,Operator Keyword,我想在类中编写一个函数,使用我稍后在该类中定义的运算符。但我不知道如何向运算符显示现在必须使用x,y的值。 我看到有人在php中使用$this->func_名称。但在这里我不知道 class Point { public: int x; int y; bool operator==(Point p) { if (x == p.x && y == p.y) return 1; retur
class Point
{
public:
int x;
int y;
bool operator==(Point p)
{
if (x == p.x && y == p.y)
return 1;
return 0;
}
bool searchArea(vector <Point> v)
{
for (int i = 0; i < v.size(); i++)
if (v[i] == /* what ?? */ )
return 1;
return 0;
}
};
int main()
{
//...
.
.
.
if (p.searchArea(v))
//...
}
你在哪里有什么你想要*这个你有的地方/*什么??*/你想要*这个我看到了两种方法:
if ( *this == v[i] )
if ( operator==(v[i]) )
这是指向当前对象的指针*这是对当前对象的引用。由于比较运算符接受引用,因此必须取消对该指针的引用。或者您可以直接调用member函数,隐式地传递它。我看到了两种方法:
if ( *this == v[i] )
if ( operator==(v[i]) )
这是指向当前对象的指针*这是对当前对象的引用。由于比较运算符接受引用,因此必须取消对该指针的引用。或者,您可以直接调用成员函数,它可以隐式传递。 < P> C++中的指针是指向当前对象的指针。若要访问实际对象,需要添加与Java不同的反引用操作符*。例如:*this.x
< C++中的这个指针是指向当前对象的指针。若要访问实际对象,需要添加与Java不同的反引用操作符*。例如:*this.x
bool操作符==点p const同样,向量应该通过const向量传递,searchArea也应该是一个const函数,并且应该返回true和false。更好的是:bool操作符==const点p constbool操作符==点p const同样,向量应该通过const向量传递,searchArea也应该是一个const函数,并且应该返回true和false。更好的是:bool操作符==常量点&p常量谢谢!但为什么要指向这一点呢?我的意思是为什么*这个而不是这个?这不是指向这个的指针,而是取消引用这个指针来访问它指向的对象。谢谢!但为什么要指向这一点呢?我的意思是为什么*这个而不是这个?这不是指向这个的指针,而是取消引用这个指针来访问它指向的对象。