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

仰望星空

文章分类
文章存档

2016年(22)

2015年(22)

我的朋友

分类: C/C++

2016-03-08 20:28:08


点击(此处)折叠或打开

  1. /*
  2.  * 保护继承
  3.  * 从基类学生公有派生研究生类
  4.  */
  5.  
  6. #include <iostream>
  7. #include <string.h>
  8. using namespace std;
  9.  
  10. class Student
  11. {
  12. private:
  13.    char *name;
  14.    int No;
  15. public:
  16.    Student(char *nstr="", int n=0)
  17.    {
  18.       name = new char[strlen(nstr)+1];
  19.       strcpy(name, nstr);
  20.       No = n;
  21.    }
  22.    ~Student(){delete[] name;}
  23.    char * getname(){return name;}
  24.    int getNo(){return No;}
  25. };
  26.  
  27. class GraduateStudent : public Student //改成protected
  28. {
  29. private:
  30.    char *instructor;
  31. public:
  32.    GraduateStudent(char *nstr="", int n=0, char *dstr=""):Student(nstr,n)
  33.    {
  34.       instructor = new char[strlen(dstr)+1];
  35.       strcpy(instructor, dstr);
  36.    }
  37.    ~GraduateStudent(){delete[] instructor;}
  38.    char *getInstructor(){return instructor;}
  39.    //int getNo(){return Student::getNo();}
  40.    //char *getname(){return Student::getname();}
  41. };
  42.  
  43. int main(void)
  44. {
  45.    GraduateStudent zhang("zhangsan", 1001,"lisi");
  46.    cout<<"姓名:"<<zhang.getname()<<"\t"
  47.       <<"学号:"<<zhang.getNo()<<"\t"
  48.       <<"导师:"<<zhang.getInstructor()<<endl;
  49.    cout<<endl;
  50.    return 0;
  51. }

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

上一篇:4、复制构造函数

下一篇:6、私有继承

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