如何通过main()函数传递私人数据地址



链接列表的打印元素反向顺序

#include "stdafx.h"
#include<iostream>
#include<conio.h>
using namespace::std;
struct node
{
    int data;
    node* next;
};
class linklist
{
    node* head;
public:
    linklist()
    {
        head = NULL;
    }
    void create_list(int d);
    void reverse_print_list(node*);

}

void reverse_print_list(node* p)
{
    if (p == NULL)
        return;
    reverse_print_list(p->next);
    cout << endl << p->data << " ";
}
int main()
{
    linklist l1;
    l1.create_list(10);
    l1.create_list(20);
    l1.create_list(30);
    l1.create_list(40);
    l1.create_list(50);
    l1.print_list(& head);  // Not allowed , gives compilation error 
    _getch();
    return 0;
}

在这里,我想传递" head" 的地址。但是它无法访问外部类,因为它是私人数据
如何解决这个问题呢 ???

添加一个公共过载,该超载调用head

来调用递归功能
void reverse_print_list() {reverse_print_list(head);}

现在可以将递归功能私有化。

最新更新