微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从类

如何解决从类

中的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
)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?