Я хочу сделать функцию public: или friend для класса, возвращающего адрес указателя, тип которого определен как закрытый член класса.
Пример:-
class LinkedList{
struct Node{
int data;
Node* next;
};
Node* head = NULL;
Node* tail = NULL;
Node* createNode(int value)
{
Node* temp = new Node;
temp->data = value;
temp->next = NULL;
return temp;
}
public:
//other functions in the class
LinkedList(int*, int, bool);
void insertNodeBeg(int value);
void insertNodeEnd(int value);
void printList();
void deleteList();
//someway to do this:-
Node* reverseList();
};
/* implementation of other function not shown*/
void reverseList(LinkedList head)
{
Node* temp = head;
/*---
code that reverse the list,
sets head to point to the new first node, and then I want to return head.
---*/
return head;
}
Теперь я хочу, чтобы структура была закрытой, так как я не хочу, чтобы пользователь получал к ней доступ любым другим способом.
Мне также нужно вернуть адрес, так как я хочу, чтобы у пользователя была возможность создавать новый список путем изменения существующего.
что-то вроде этого:-
new_list = old_list.reverseList ();
но я не хочу создавать новый список, так сказать.
Я хотел бы, чтобы кто-то помог мне с этим или просто направил меня к другому источнику или ответу.
Задача ещё не решена.
Других решений пока нет …