c++的继承在c++中,继承是一个对象自动获得其父对象的所有属性和行为的过程。这样,您就可以重用、扩展或修改在其他类中定义的属性和行为。 在c++中,继承另一个类成员的类称为派生类,继承其成员的类称为基类。派生类是基类的专门化类。 c++继承的优点代码的可重用性:现在可以重用父类的成员了。因此,不需要再次定义成员。所以这门课只需要更少的代码。 继承的类型c++支持五种类型的继承:
![]() 派生类派生类定义为从基类派生的类。 派生类的语法: 在那里, derived_class_name:它是派生类的名称。 可见性模式:可见性模式指定基类的特性是公开继承还是私有继承。它可以是公共的也可以是私人的。 base_class_name:它是基类的名称。
注意:
c++单继承单继承定义为仅从一个基类继承派生类的继承。 ![]() 其中“A”是基类,“B”是派生类。 c++单级继承示例:继承字段当一个类继承另一个类时,它被称为单级继承。让我们看看单级继承的例子,它只继承字段。 输出: 工资:60000奖金:5000 在上面的示例中,Employee是基地类和程序员是派生的类。 c++单级继承示例:继承方法让我们看另一个c++中继承的例子,它只继承方法。 输出: 吃……叫…… 让我们看一个简单的例子。 输出: a与b的乘法是20 在上面的例子中,类A是私有继承的。因此,类'A'的mul()函数不能被类B的对象访问,它只能被类B的成员函数访问。 如何使私有成员可继承私有成员不可继承。如果我们通过使其公开来修改可见性模式,但这会剥夺数据隐藏的优势。 c++引入了第三个可见性修饰符,即:受保护的。被声明为protected的成员可以被类中的所有成员函数以及直接从它派生的类访问。 可见性模式可分为三类: ![]()
继承成员的可见性
c++多级继承多级继承是从另一个派生类派生一个类的过程。 ![]() c++多级继承示例当一个类继承另一个类,而另一个类又被另一个类继承时,在c++中称为多级继承。继承是可传递的,因此最后一个派生类获得其所有基类的所有成员。 让我们看看c++中多级继承的例子。 输出: 吃……叫……哭泣…… c++多重继承多重继承派生从两个或多个类继承属性的新类的过程。 ![]() 派生类的语法: 让我们看一个简单的多重继承示例。 输出: a的取值为:10 b的取值为:20 a与b相加为:30 在上面的例子中,类'C'在公共模式中继承了两个基类'A'和'B'。 继承中的模糊解析当具有相同名称的函数出现在多个基类中时,使用多重继承可能会产生歧义。 让我们通过一个例子来理解这一点: 输出: 错误:对'display'的引用有歧义display();
在单继承中也可能出现歧义。 考虑以下情况: 在上面的例子中,派生类的函数覆盖基类的方法。因此,对display()函数的调用将简单地调用派生类中定义的函数。如果要调用基类函数,可以使用类解析操作符。 c++混合继承混合继承是一种以上类型继承的组合。 ![]() 让我们看一个简单的例子: 输出: 输入a的值:10输入b的值:20输入c的值:30输入a、b、c的乘:6000 c++层次继承层次继承被定义为从基类派生多个类的过程。 ![]() 层次继承的语法: 让我们看一个简单的例子: 输出: 输入矩形的长度和宽度:23 20矩形的面积为:460输入三角形的底和高:2 5三角形的面积为:5
下一个话题
c++聚合
|