Chào các bác, Em đang học c++ tới phần linked list và em đọc hướng dẫn không hiểu, mong các bác giải thích giúp em với ạ.
Thứ nhất khi nào thì gọi tên struct trong chính nó ạ (em không biết diễn đạt ra sao các bác xem qua ví dụ giúp em ạ.)
struct Node {
// Instance variables
const char* element;
Node* next;
// Initialize a node
Node(const char* e = NULL, Node* n = NULL)// tại sao ở đây lạ gọi tên chính nó ạ ?
{
element = e;
next = n;
}
};
Hay như ví dụ sau trên stdio
struct SNode
{
int Data;
SNode* pNext;
};
struct SList
{
SNode* pHead;
SNode* pTail;
SList(){}// tại sao ở đây cũng gọi tên chính nó và không truyền vào gì ?
SList(SNode* Head, SNode* Tail)// và ở đây lại truyền vào tham số mà không phải câu lệnh bên trên ạ ?
{
this->pHead = Head;
this->pTail = Tail;
}
};
Các bác có thể giải thích kĩ cho em cái này được không ạ ? tại sao trong class hay struct lại có những hàm tên là chính tên của class hay struct đó ạ ? Hoặc các bác có thể cho em xin tài liệu phần này em đọc được không ạ ? em tìm mà không có. Và trước đây em chỉ được học khởi tạọ 1 struct bằng cách
[tenstruct].[phantu] = value;
nhưng có lần em đọc có thể khởi tạo bằng cách ví dụ có 1 struct hocsinh trong đó có hoten và tuôi thì có thể khởi tạo là hocsinh1(“nguyen”, 20); hay gì đó đại loại vậy, em không biết nó là sao ai có thể cho em hướng dẫn được không ạ ? em cảm ơn mọi người !