C++ 层级继承

C++ 层级继承

继承的概念在现实世界中是非常相似的。就像一个儿子继承了父亲的性质(特征和行为)一样,父亲本身继承了儿子的祖父的性质。在编程规范中,当一个类继承另一个类(基类)的性质时会发生继承。

现在让我们理解层级继承的概念。

C++ 层级继承

定义

正如名字定义的那样,它是类的层次结构。有一个基类和多个派生类。此外,派生类也被其他类继承。因此,形成了一个类似树形的层次结构。

C++ 层级继承

这里A类是基类。B类和C类是A类的派生类。

D类和E类是B类的派生类。F类和G类是C类的派生类。形成了层级继承的结构。

层级继承在哪里使用?

在需要维护层次结构的情况下使用。例如,一个组织的数据库以层次结构的格式存储。组织有不同的部门,如IT、计算机科学、土木工程、机械工程等。每个部门都有相同的属性,如学生姓名、学号、年级等,它们属于一个学生类。因此,所有部门都继承了学生的属性,按照层次继承的格式进行操作。

语法

Class Parent
{
    statement(s);
};
Class Derived1: public Parent
{
    statement(s);
};
Class Derived2: public Parent
{
    statement(s);
};
class newderived1: public Derived1
{
    statement(s);
};
class newderived2: public Derived2
{
    statement(s);
};

Class Parent(父类)是基类,Derived1(派生类1)和Derived2(派生类2)是继承自Parent(父类)的类。进一步,newderived1(新的派生类1)是继承自Derived1(派生类1)的类,newderived2(新的派生类2)是继承自Derived2(派生类2)的类。可以有任意数量的基类被n个派生类继承。

代码示例

#include <iostream>
using namespace std;
class A // Base class
    {
public:
int x, y; // data members
voidgetdata() // to input x and y
    {
cout<< "Enter value of x and y:\n";
cin>> x >> y;
    }
};
class B : public A //B is derived from class base
{
public:
void product()
    {
cout<< "\nProduct= " << x * y <<endl; // Perform product
    }
};
class C : public A //C is also derived from class base
{
public:
void sum()
    {
cout<< "\nSum= " << x + y; // Perform sum
    }
};
int main()
{
    B obj1; //object of derived class B
    C obj2; //object of derived class C
obj1.getdata(); // input x and y 
obj1.product();
obj2.getdata();
obj2.sum();
return 0;
}

输出

C++ 层级继承

说明

我们有一个基类A,它有两个数据成员x和y。它还使用函数getdata()输入数据成员的值。类B继承了类A,并使用继承的数据成员x和y来执行乘法操作。

类C还调用了基类的getdata()函数,并使用继承的数据成员计算x和y的乘积。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程