⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch15_6.cpp

📁 本文档是C++程序设计教程系列的部分辅助代码。
💻 CPP
字号:
//**********************
//**    ch15_6.cpp    **
//**********************

#include <iostream.h>
#include <string.h>

class Student{
public:
  Student(char* pName);
  ~Student();
  static Student* findname(char* pName);
protected:
  static Student* pFirst;
  Student* pNext;
  char name[40];
};

Student* Student::pFirst = 0;  //静态成员空间分配及初始化
Student::Student(char*pName)
{
  strncpy(name,pName, sizeof(name));
  name[sizeof(name)-1]='\0';
  pNext=pFirst;
  pFirst=this;
}
Student::~Student()
{
  if(pFirst==this){
    pFirst=pNext;
    return;
  }
  for(Student* pS=pFirst; pS; pS=pS->pNext)
    if(pS->pNext==this){
      pS->pNext=pNext;
      return;
    }
}

Student* Student::findname(char* pName)
{
  for(Student* pS=pFirst; pS; pS=pS->pNext)
    if(strcmp(pS->name,pName)==0)
      return pS;

  return (Student*)0;
}

void main()
{
  Student s1("Randy");
  Student s2("Jenny");
  Student s3("Kinsey");
  Student* pS =Student::findname("Jenny");
  if(pS)
    cout <<"ok." <<endl;
  else
    cout <<"no find." <<endl;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -