C++语言程序设计 项目七

一、实验目的

l 1、理解继承的含义,掌握派生类的定义方法和实现

l 2、理解公有继承下基类成员派生类成员和派生类对象的可见性,能正确地访问继承层次中的各种类成员

l 3、理解保护成员在继承中的作用,能够在适当的时候选择使用保护成员以便派生类成员可以访问基类的部分非公开的成员

l 4、理解虚基类在类的继承层次中的作用。

二、准备内容

1、实验课前需预习实验内容,并做好实验设计。

2、复习视频及课上所讲授的C++中类的继承与派生的C++基本知识

三、实验内容

设计并完成项目七:慕课网站上第七周的编程作业。

四、实验步骤

(一)编程代码

1.

#include<iostream>                               //头文件

#include <cstring>

using namespace std;                             //使用名字空间

class Person                                     //定义person类

{

private:                                         //私有函数

    char Name[20];                               //定义变量

    char Sex;

    int Age;

public:                                          //公有函数

    void Register(char *name, int age, char sex) //定义无返回值函数

    {

        strcpy(Name, name);                      //将name赋值给Name

        Age = age;

        Sex = sex;

    }

    void ShowMe()                                //定义无返回值函数

    {

        cout<<Name<<" "<<Age<<" "<<Sex<<endl;    //输出

    }

};

class Student:public Person                      //定义一个派生类

{

private:                                         //私有函数

    int Number;

    char ClassName[10];

public:                                         //公有函数

    void RegisterStu(char *classname, int number, char *name, int age, char sex)//定义无返回值函数

    {

        strcpy(ClassName, classname);            //将classname赋值给ClassName

        Number = number;

        Register(name, age, sex);

    }

    void ShowStu()                               //定义无返回值函数

    {

        cout<<Number<<" "<<ClassName<<" ";      //输出

        ShowMe();

    }

};

int main()                                      //主函数

{

    Student s1;                                  //定义一个对象

    char classname[10],name[20],sex;             //定义变量

    int number,age;

    cin>>classname>>number>>name>>age>>sex;      //输出

    s1.RegisterStu(classname, number, name, age, sex);//对象调用RegisterStu函数

    s1.ShowStu();//对象调用ShowStu函数

    s1.Person::Register(name, age, sex);        //对象调用Person::Register函数

    s1.Person::ShowMe();                        //对象调用Person::ShowMe函数

    return 0;

}

2.:

#include<iostream>                               //头文件

#include <cstring>

using namespace std;                             //使用名字空间

class Person                                     //定义类

{

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值