I'm trying to write a linked-list using class and I want it to have a specific format.
For example if I have three data called p1,p2 and p3 and a linked-list called list; I want to put them in order like blow.
list.insert(p1).insert(p2).insert(p3);
I tried to return the object, but didn't work. Here's my code.
#include<iostream>
using namespace std;
class linked_list {
public:
    int *head;
    linked_list();
    ~linked_list();
    linked_list  insert(int data);
};
linked_list::linked_list()
{
    head = NULL;
}
linked_list::~linked_list()
{
    int *temp;
    int *de;
    for (temp = head;temp != NULL;) {
        de = temp->next;
        delete temp;
        temp = de;
    }
    delete temp;
    //delete de;
}
linked_list  linked_list::insert(int data)
{
    int *temp;
    temp = new int;
    *temp = data;
    temp->next = NULL;
    if (head == NULL) {
        head = temp;
    }
    else {
        int* node = head;
        while (node->next != NULL) {
            node = node->next;
        }
        node->next = temp;
    //  delete node;
    }
    //delete temp;
    return *this;
}
int main(){
    linked_list l1;
    int p1,p2,p3;
    l1.insert(p1).insert(p2).insert(p3);
    return 0;}
 
    