c++类内接口调用其它函数传递成员指针问题(以二叉树举例)

本文通过一个二叉查找树的实例,展示了如何在C++类中定义公有接口函数,这些接口函数调用私有函数来实现具体功能。在修改私有数据成员时,私有函数接受参数为引用,以确保能够正确修改。文中详细阐述了插入、删除和查找最小值的实现过程。
摘要由CSDN通过智能技术生成

        类中成员函数可以直接使用私有成员,实现类的某些功能。但有时为了更好地隐藏具体实现或使用方便,可定义不带全部参数参数的公有接口名,再由接口函数去调用带有参数的重载函数(也可以为非重载函数),此时前者常称为驱动,调用带参数的接口函数时若要修改类内的私有资源一定要传递引用。

这里举例说明函数参数传递(没有实现完整类):

二叉查找树的部分实现:类中三个公有函数都调用私有函数实现对应功能,当欲改变私有数据成员时私有函数的参数一定为引用,即使传递的是指针。

1.节点(节点内元素为int型).

struct node{

  int item;

  node *left;

  node *right;};

2.二叉查找树类实现:

class binarysearchtree{

  private:

      node *root=nullptr;//二叉树基本的私有成员—根节点

      //...其他成员可根据实现定义

  public:

      binarysearchtree(){};

       //...这里还有很多成员如复制构造、打印等,可根据实际需要进行定义

      void  insert(const node &);

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值