第009课 C++ 单继承

【单继承】

    继承性是面向对象程序设计中最重要的机制。这种机制提供了无限重复利用程序资源的一种途径。通过C++语言中的继承机制,可以扩充和完善旧的程序设计以适应新的需求。这样不仅可以节省程序开发的时间和资源,并且为未来程序增添了新的资源。

class Student //类Student
{   int num;
    char name[30];
    char sex;
public:                             
   void display( )        // 对成员函数display的定义
   {
     cout <<"num: "  <<num <<endl;
     cout <<"name: " <<name <<endl;
     cout <<"sex: " <<sex <<endl; 
    } 
};
class Student1  //类Student1
{    int num;         
     char name[20];   
     char sex;        
     int age;          //新增的
     char addr[20];  //新增的
public:            
    void display( )         		
    {
        cout <<"num: " <<num <<endl;    	
        cout <<"name: " <<name <<endl;	   
        cout <<"sex: " <<sex <<endl;      	
        cout <<"age: " <<age <<endl;         //新增的
        cout <<"address: " <<addr <<endl;    //新增的
    }                 
}; 

     利用原来定义的类Student作为基础,再加上新的内容即可,以减少重复的工作量。 C++提供的继承机制就是为了解决这个问题。     

     在C++中所谓“继承”就是在一个已存在的类的基础上建立一个新的类。已存在的类称为“基类(base class)”或“父类(father class)”。新建立的类称为“派生类(derived class)”或“子类(son class)”。

class Student1: public Student//声明基类是Student,定义派生类Student1
{
private:
   int age;    //新增加的数据成员
   string addr;  //新增加的数据成员
public:
   void display_1( )  //新增加的成员函数
   {  
       cout<<"age: "<<age<<endl; 
  	   cout<<"address: "<<addr<<endl;
    }   
};

类A派生类B:类A为基类,类B为派生类。

    在C++语言中,一个派生类可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继承称为单继承从多个基类派生的继承称为多继承

 

实验题目1:班级学生学期成绩管理系统 (1)程序功能简介 灵活运用类的继承、对象成员等机制,设计一个能够实现班级学生学期成绩管理的程序。 (2)程序设计说明 ① 个人信息类CPerson的数据成员有姓名、性别、年龄、身份证号等数据成员,成员函数根据需要自行设计; ② 学生类CStudent从CPerson派生,并增加学号、CCourse对象成员数组(大小至少3个)等数据成员,并根据需要自行设计成员函数,包括能够求解所选修程的总学分、显示某个学生基本信息和程信息的成员函数; ③ 程类CCourse包括程名、学分、分数、任老师等数据成员,成员函数根据需要自行设计; ④ 班级类CClass的数据成员有班级名称、班级人数、CStudent对象成员数组(大小由构造函数确定)等。本班级类CClass的对象成员数组需要在构造函数中用new动态分配内存空间,在析构函数中用delete释放。在CClass类中设计包括能够求解最高成绩、最低成绩和平均成绩以及通过学号查找并输出某个学生全部信息(例如Seek())等功能在内的成员函数; ⑤ 构造三十个学生的数据,每个学生都有三门程成绩,输出并显示这些数据; ⑥ 根据类的需要添加适当的其它成员,编写完整的程序并测试。 (3)程序调试运行 运行程序查看结果,并进行源代码调试和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值