zoukankan      html  css  js  c++  java
  • C++第4次实验(提高班)—继承和派生1

    从项目2和项目3中选1题作为实验、剩下2题写成作业。

    【项目1 - 龙三】

    请在以下程序的横线处填上适当内容,以使程序完整,并使程序的输出为:
    Name: 龙三

    Grade: 19

    #include <iostream>
    #include <string>
    using namespace std;
    class Person{
    public:
        Person(string s){
            name=s;
        }
        void display( ){
            cout<<"Name: "<<name<<endl;
        }
    private:
        string name;
    };
    class Student: ___________//(1)
    {
    public:
        Student(string s, int g):__________ // (2)參考教材P169加底纹部分
        {grade=g;}
        void display1( ) {
            _________;   //  (3)
            cout<<"Grade: "<<grade<<endl;
        }
    private:
        int grade;
    };
    int main( )
    {
        Student s("龙三",19);
        ___________;       //  (4)
        return 0;
    }
    【项目2 - 学生类】
    class Stu   //声明基类
    {
    public:
        Stu(int n, string nam );  //基类构造函数
        void display( );          //成员函数。输出基类数据成员
    protected:        //(*)訪问权限为保护型的数据成员
        int num;      //学生学号
        string name;  //学生姓名
    };
    class StuDetail: public Stu              //声明派生类StuDetail
    {
    public:
        //学生nam,学号n,a岁。家住ad,他的班长是nam1,学号n1
        StuDetail(int n, string nam,int a, string ad,int n1, string nam1); //派生类构造函数
        void show( ); //成员函数。输出学生的信息
        void show_monitor( );    //成员函数,输出班长信息
    private:
        Stu monitor;   //学生所在班的班长,班长是学生,是Stu类的成员
        int age;       //学生年龄
        string addr;   //学生的住址
    };
    int main( )
    {
        //学生张三,10010号,19岁,家住江西南昌。他的班长是李四。学号10001
        StuDetail s(10010,"张三",19,"江西南昌",10001,"李四");
        s.show( );                       //输出学生信息
        s.show_monitor();                //输出班长信息
        return 0;
    }
    上面是声明好的类及測试函数,请完毕类中成员函数的定义。使执行结果如图所看到的。

    项目3 - 职员薪水】
       定义一个名为CPerson的类,有下面私有成员:姓名、身份证号、性别和年龄,成员函数:构造函数、输出信息的函数。

    并在此基础上派生出CEmployee类。派生类CEmployee添加了两个新的数据成员,分别用于表示部门和薪水。

    要求派生类CEmployee的构造函数显示调用基类CPerson的构造函数。并为派生类CEmployee定义输出信息的函数。

    class CPerson
    {
    protected:
        string m_szName;
        string m_szId;
        int m_nSex;//0:女,1:男
        int m_nAge;
    public:
        CPerson(string name,string id,int sex,int age);
        void Show1();
    };
    
    class CEmployee:public CPerson
    {
    private:
        string m_szDepartment;
        double m_Salary;
    public:
        CEmployee(string name,string id,int sex,int age,string department,double salary);
        void Show2();
    };
    
    int main()
    {
        string name,id,department;
        int sex,age;
        double salary;
        cout<<"请输入雇员的姓名,ID,性别(0:女,1:男),年龄,部门,薪水:
    ";
        cin>>name>>id>>sex>>age>>department>>salary;
        CEmployee employee1(name,id,sex,age,department,salary);
        employee1.Show2();
        return 0;
    }


  • 相关阅读:
    《应用Yii1.1和PHP5进行敏捷Web开发》学习笔记(转)
    YII 小模块功能
    Netbeans代码配色主题大搜集
    opensuse 启动巨慢 解决方法 90s多
    opensuse 安装 网易云音乐 rpm netease music
    linux qq rpm deb opensuse
    openSUSE 安装 alien
    第一行代码 Android 第2版
    Android Studio AVD 虚拟机 联网 失败
    docker error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.29/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuratio
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7265061.html
Copyright © 2011-2022 走看看