6.cpp

来自「一、教学目的: 能理解C++中运算符重载的需要性」· C++ 代码 · 共 56 行

CPP
56
字号
#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)
{
	  strcpy(name,pName);
	  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 + =
减小字号Ctrl + -
显示快捷键?