ch15_4.cpp
资源名称:c.rar [点击查看]
上传用户:puke2000
上传日期:2022-07-25
资源大小:912k
文件大小:1k
源码类别:

C#编程

开发平台:

Visual C++

  1. //**********************
  2. //**    ch15_4.cpp    **
  3. //**********************
  4. #include <iostream.h>
  5. #include <string.h>
  6. class Student{
  7. public:
  8.   Student(char* pName);
  9.   ~Student();
  10. protected:
  11.   static Student* pFirst;
  12.   Student* pNext;
  13.   char name[40];
  14. };
  15. Student* Student::pFirst =0;
  16. Student::Student(char* pName)
  17. {
  18.   strncpy(name,pName,sizeof(name));
  19.   name[sizeof(name)-1] ='';
  20.   pNext =pFirst;          //每新建一个结点(对象),就将其挂在链首
  21.   pFirst =this;
  22. }
  23. Student::~Student()
  24. {
  25.   cout <<this->name <<endl;
  26.   if(pFirst==this){       //如果要删除链首结点,则只要链首指针指向下一个
  27.     pFirst=pNext;
  28.     return;
  29.   }
  30.   for(Student* pS=pFirst; pS; pS=pS->pNext)
  31.     if(pS->pNext==this){  //找到时,pS指向当前结点的结点
  32.       pS->pNext=pNext;    //pNext即this->pNext
  33.       return;
  34.     }
  35. }
  36. Student* fn()
  37. {
  38.   Student* pS =new Student("Jenny");
  39.   Student sb("Jone");
  40.   return pS;
  41. }
  42. void main()
  43. {
  44.   Student sa("Jamsa");
  45.   Student* sb =fn();
  46.   Student sc("Tracey");
  47.   delete sb;
  48. }