从类

中的C ++调用类方法 我有一个实现链表的类。该类具有一个find()方法,该方法可以在链表中找到一个值。我有另一个添加节点的方法add(),但是仅当列表中不存在该节点中包含的值时才可以。 所以我想在我的add()函数中做的是使用我的find方法,而不是测试现有值,因为那就像是第二次实现它。我的问题是,如何从该类的另一个方法中调用find方法? 我试过打电话 this.find(x) 但这给了我错误。 这是我的一些代码:
// main function
  SLList<int>list;
  list.add(20);
  list.add(14);

// SLList.h (interface and implementation)

template<typename T>
bool SLList<T>::find(const T& val) const {
  // finds value
}


template<typename T>
void SLList<T>::add(const T& x) {
  bool found = this.find(x);
  if (found) return false;

  // goes on to add a node in the Singly Linked list (SLList)
}
因此,就像我说的那样,我希望能够从该类的另一个方法中调用find方法,并且我认为为此要做的就是引用调用对象,然后对其进行调用查找方法,但是正如我所说,这给了我很多错误。 任何人都可以帮我解决这个问题,谢谢!
已邀请:
叫call1ѭ。不需要这个。同样,“ 2”是指向当前对象的指针。因此,您必须做
this->find(x)
this
是一个指针,如果要使用它,则应采用以下两种方式之一:
this->find(x);
(*this).find(x);
find(x);
另外,函数ѭ6function应该返回
bool
(而不是
void
)。

要回复问题请先登录注册