Cpp1.cpp
资源名称:1.rar [点击查看]
上传用户:ynftjgj
上传日期:2022-07-21
资源大小:216k
文件大小:1k
源码类别:

企业管理

开发平台:

Visual C++

  1. #include <iostream.h>
  2. #include <string.h>
  3. class teacher
  4. { public:
  5.      teacher( char tname[],int time )
  6.      {  strcpy( name,tname );
  7.         coursetime = time;
  8.      }
  9.     virtual int pay() = 0;
  10.     virtual void print() = 0;
  11.     char *getname()
  12.      { return name; }
  13.     int getcoursetime()
  14.      { return coursetime; }
  15.   protected:
  16.     char name[30];
  17.     int coursetime;
  18. };
  19. class professor:public teacher
  20. { public:
  21.      professor( char pname[],int time ):teacher( pname,time ){ }
  22.      int pay()
  23.       { return 5000+coursetime*50; }
  24.      void print()
  25.       { cout<<"教授:"<<getname(); }
  26. };
  27. class associateprofessor:public teacher
  28. { public:
  29.      associateprofessor( char pname[],int time ):teacher( pname,time ){ }
  30.      int pay()
  31.       { return 3000 + coursetime * 30; }
  32.      void print()
  33.       { cout << "副教授:" << getname(); }
  34. }; 
  35. class lecturer:public teacher
  36. { public:
  37.      lecturer( char pname[],int time ):teacher( pname,time ){ }
  38.      int pay()
  39.       { return 2000 + coursetime * 20;}
  40.      void print()
  41.       { cout << "讲师:" << getname();}
  42. }; 
  43. void main()
  44. { professor pobj( "李小平",32 );
  45.   pobj.print();
  46.   cout << 't' << "工资:" << pobj.pay() << endl;
  47.   associateprofessor apobj( "王芳芳",56 );
  48.   apobj.print();
  49.   cout << 't' << "工资:" << apobj.pay() << endl;
  50.   lecturer lobj( "何大建",72 );
  51.   lobj.print();
  52.   cout << 't' << "工资:" << lobj.pay() << endl;
  53. }