#include<iostream> using namespace std; class CStudent { public: int id; string Name; int m_Chinese; int m_Math; CStudent() { id = 0; Name = ""; m_Chinese = 0; m_Math = 0; } void SetInfo(int a, string b, int c, int d) { id = a; Name = b; m_Chinese = c; m_Math = d; } }; class Clist { private: struct Node { CStudent st; Node*pNext; }; public: Node*pHead; Node*pEnd; int m_size; public: Clist() { pHead = 0; pEnd = 0; m_size = 0; } ~Clist()//应该写随着使用之后,不需要的空间 { Node*pTemp = pHead; while (pTemp != NULL) { Node*pDel = pTemp; pTemp = pTemp->pNext; delete pDel; pDel = 0; } pTemp = 0; m_size = 0; pHead = 0; pEnd = 0; } void Push_Back(CStudent& st) { Node*pTemp = new Node; pTemp->st = st; pTemp->pNext = NULL; if (pHead == NULL) { pHead = pTemp; } else { pEnd->pNext = pTemp; } pEnd = pTemp; m_size++; } void Pop_Front() { if (pHead == NULL) { return; } if (pHead == pEnd) { delete pEnd ; pHead = 0; pEnd = 0; } else { Node*pTemp = pHead; pHead = pHead->pNext; delete pTemp; pTemp = 0; } m_size--; } void Show() { Node*pTemp = pHead; while (pTemp!= NULL) { cout << pTemp->st.id ; cout << pTemp->st.m_Chinese ; cout << pTemp->st.m_Math<< endl; pTemp = pTemp->pNext; } } }; int main() { CStudent st1; st1.SetInfo(1, "h", 60, 75); Clist st; st.Push_Back(st1); st.Show(); return 0; }
转载于:https://www.cnblogs.com/NoisyHu/p/10315323.html