C++定义一个Person基类和Employee子类

  • 要求:定义一个基类 Person ,它有 3 protected 的数据成员:姓名
    name(String 类型 ) 、性别 sex(char 类型 ) 、年龄 age(int 类型 ) ;一个构
    造函数用于对数据成员初始化;有一个成员函数 show() 用于输出数据
    成员的信息。
    创建 Person 类的公有派生类 Employee ,增加两个数据成员基本工资
    basicSalary int 类型)请假天数 leaveDays int 型);为它定义初始化
    成员信息的构造函数,和显示数据成员信息的成员函数 show()

程序运行过程:实现进行基类中的初始化及输出,然后再子类重新初始化基类中继承的相关变量。


  • 代码如下:

  • #include<iostream>
    using namespace std;
    class Person    //定义一个Person基类
    {
    public:
        Person()    //定义构造函数,实现数据初始化
        {
            cout << "请输入姓名、性别、年龄" << endl;
            cin >> name >> sex >> age;
        }
        void show() //定义show()成员函数,实现输出
        {
            cout << "姓 名:" << name << endl;
            cout << "性 别:" << sex << endl;
            cout << "年 龄:" << age << endl;
        }
    protected:  //定义三个保护类型变量
        string name;
        char sex;
        int age;
    };
    class Employee :public Person   //定义Employee类为Person类的子类
    {
    public: //定义两个公有变量
        int basicSalary;
        int leaveDays;
        Employee()  //定义一各构造函数、实现初始化
        {
            cout << "请输入基本工资、请假天数" << endl;
            cin >> basicSalary >> leaveDays;
        }
        void show_E()   //定义show_E()成员函数,实现输出
        {
            cout << "姓 名:" << name << endl;
            cout << "性 别:" << sex << endl;
            cout << "年 龄:" << age << endl;
            cout << "工 资:" << basicSalary << endl;
            cout << "请假天数:" << leaveDays << endl;
        }
    };
    void test01()
    {
        Person P;   //定义Person类型变量
        P.show();   //调用Person类的成员函数
        Employee s; //定义Employee类型变量
        s.show_E(); //调用Employee类的成员函数
    }
    int main()
    {
        test01();   //调用test01()函数
        return 0;
    }

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 好的,下面是定义一个基类 `baseclass` 的 C++ 代码: ``` class baseclass { public: virtual void someFunction() { // 这里是函数的实现代码 } }; ``` 这里定义了一个名为 `baseclass` 的基类,并且其中包含了一个名为 `someFunction` 的虚函数。在 C++ 中,使用 `class` 关键字来定义,其中 `public:` 后面的代码表示该的公有成员。虚函数的定义方式是在函数声明前加上关键字 `virtual`,这样派生可以重写这个函数。 ### 回答2: 在面向对象编程中,基类是一种通用的,通过其定义一些共通的属性和方法,然后由其它派生来继承和扩展,从而减少重复的代码,简化程序的复杂度,也提高代码的复用性。因此,在代码编写时,首先定义一个基类是非常必要的。 Baseclass基类的定义如下: 1. 首先,定义一个名为Baseclass。 2. 定义属性,包括变量和方法,并设置默认初始值。这些属性可以被派生继承,在其它派生中也可以重新定义。 3. 设置构造函数和析构函数。构造函数用来初始化对象,在对象创建时被调用,而析构函数则在对象销毁时被调用,用来释放资源。 4. 在基类中,也可以定义一些虚成员函数(virtual,用虚函数的原因说起会超过300字,这里不展开讲),以方便在派生中重写,实现多态性的作用。虽然在基类中实现纯虚函数(abstract)没有意义,但是也可以定义它。 5. 派生继承Baseclass,通过派生基类的方法和属性进行继承和重写,从而实现更复杂的功能。 6. 在基类中可以定义一些静态成员,这些成员变量和成员方法归,不依赖对象自然执行,而是在程序启动时自动执行。 总之,定义一个基类的主要目的是通过封装、继承和多态等特性,让程序更加简洁、易懂、易扩展和改变。 ### 回答3: 基类是面向对象程序设计中非常重要的概念之一。它是一个通用的模板,可以作为其他的父,被继承而形成子类。在基类中定义一些通用的方法和属性,这些方法和属性可以被子类直接继承和使用。基类可以实现多态和抽象等高级特性,为程序设计带来很多便利性和灵活性。 在C++中,我们可以通过定义一个基类baseclass,来实现基类的功能。基类baseclass可以包含一些数据成员和成员函数,这些成员函数可以被其它的派生继承和使用。基类通常是一个抽象的,它的成员函数可以被派生重写,以适应具体的需求。 基类的定义需要注意以下几点: 1. 基类中的成员函数需要加上虚函数关键字“virtual”,以实现多态功能。 2. 声明基类的时候,需要使用关键字“class”或“struct”。 3. 基类可以定义成抽象,其中可以包含纯虚函数。 4. 基类的析构函数需要定义成虚函数,以确保派生的析构函数能够被正确调用。 以下是一个基类的定义示例: class baseclass { public: virtual void func1(); virtual void func2(); virtual ~baseclass(); private: int data; }; 其中,func1和func2为两个虚函数,其余成员是普通的数据和函数。基类的成员函数可以在派生中被重写,以实现多态功能。在使用基类生成一个实例的时候,可以通过指向基类的指针来调用不同派生的同名函数。基类的定义是面向对象程序设计中的一个非常基础的概念,只有了解了基类的定义和用法,才能更好地理解派生和多态等进阶特性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晨露02

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值