Chinaunix首页 | 论坛 | 博客
  • 博客访问: 156294
  • 博文数量: 44
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 407
  • 用 户 组: 普通用户
  • 注册时间: 2015-11-10 13:28
个人简介

仰望星空

文章分类
文章存档

2016年(22)

2015年(22)

我的朋友

分类: C/C++

2016-03-31 10:14:42

多继承中的虚函数重载

点击(此处)折叠或打开

  1. #include <iostream>
  2. #include <string.h>
  3. using namespace std;

  4. class Person
  5. {
  6. protected:
  7.     char *name;
  8. public:
  9.     Person(char * n){name = new char[strlen(n) + 1]; strcpy(name, n);}
  10.     ~Person(){delete[] name;}
  11.     virtual void display(){cout<<"姓名:"<<name<<endl;}
  12. };


  13. class student:public Person
  14. {
  15. public:
  16.     student(char * n):Person(n){}
  17.     void display()
  18.     {
  19.         cout<<"学生 姓名:"<<name<<endl;
  20.     }
  21. };


  22. class teacher:public Person
  23. {
  24. public:
  25.     teacher(char * n):Person(n){}
  26.     void display()
  27.     {
  28.         cout<<"老师 姓名:"<<name<<endl;
  29.     }
  30. };


  31. int main()
  32. {
  33.     student s("xxx");
  34.     teacher t("TTT");
  35.     Person *p;

  36.     p = &s;
  37.     p->display();

  38.     p = &t;
  39.     p->display();

  40.     return 0;

  41. }

阅读(1770) | 评论(0) | 转发(0) |
0

上一篇:19、虚函数

下一篇:21、虚基类

给主人留下些什么吧!~~