ex218.cpp
上传用户:qdhmjx
上传日期:2022-07-11
资源大小:2226k
文件大小:1k
源码类别:

书籍源码

开发平台:

Visual C++

  1. #include <iostream.h>
  2. #include <string.h>
  3. class student 
  4. {
  5.   protected:
  6. int num;
  7. char name[10];
  8. char sex;
  9. public:
  10. student(int n,char*na,char s)
  11. {
  12. num=n;
  13. strcpy(name,na);
  14. sex=s;
  15. }
  16. virtual void display()
  17. {
  18. cout<<num<<endl<<name<<endl<<sex<<endl;
  19. }//基类中的display()函数
  20. };
  21. class stud:public student
  22. {
  23.   private:
  24. int age;
  25. public:
  26. stud(int n,char*na,char s,int a);
  27. void display()
  28. {
  29. cout<<num<<endl<<name<<endl<<sex<<endl<<age<<endl;
  30. }//派生类中的display()函数
  31. };
  32. stud::stud(int n,char *na,char s,int a):student(n,na,s)
  33. {
  34. age=a;
  35. }
  36. student a(1001,"Teddy",'F');//生成基类对象a
  37. stud b(1002,"Kitty",'M',23);//生成派生类对象b
  38. void main()
  39. {
  40. a.display();//调用基类display()函数,输出:1001、Teddy、F
  41. b.display();//调用派生类display()函数,输出:1002、Kitty、M、23
  42. student *p1,*p2;//生成两个基类的指针
  43. stud *p3;//生成派生类的指针
  44. p1=&a;//基类指针取基类对象地址
  45. p2=&b;//基类指针可以取派生类对象地址
  46. p3=&b;//派生类指针取派生类对象地址
  47. p1->display();//调用基类display()函数,显示:1001、Teddy、F
  48. p2->display();//调用基类display()函数,显示:1002、Kitty、M
  49. p3->display();///调用派生类display()函数,显示:1002、Kitty、M、23
  50. }