行业知识
[C++核心编程-09]----C++类和对象之继承
欢迎来到技术探索的奇幻世界
个人主页:@一伦明悦-CSDN博客
✍ 作者简介: C++软件开发、Python机器学习爱好者
️ 互动与支持:评论 点赞 收藏 关注+
如果文章有所帮助,欢迎留下您宝贵的评论,点赞加收藏支持我,点击关注,一起进步!
目录
前言
正文
01-继承简介
02-继承的基本用法
03-继承方式
04-继承中的对象模型
05-继承中的构造和析构顺序
06-继承中同名的成员处理
07-继承中的同名静态成员处理
总结
前言
在面向对象编程中,继承是一种重要的概念,它允许一个类(称为子类或派生类)从另一个类(称为基类或父类)继承属性和行为。这意味着子类可以使用基类中已有的数据和行为,而无需重新编写,从而实现代码重用和扩展的目的。
继承的基本原则包括:
代码重用:继承允许子类继承父类的成员变量和成员函数。这意味着子类可以重用父类的功能,而不必重新实现相同的功能,从而减少了代码的重复性。
代码扩展:子类可以在继承了父类的基础上添加新的成员变量和成员函数,以满足特定需求或扩展功能。这种灵活性使得程序的设计更加模块化和可扩展。
多态性:继承也为多态性提供了基础。子类可以重写(覆盖)父类的成员函数,从而在不同的上下文中表现出不同的行为。这种多态性使得代码更具灵活性和可维护性。
继承链:在继承中可以形成类的层次结构,即继承链。子类可以进一步作为其他类的基类,从而形成更深层次的继承关系。这种继承链的存在使得代码组织更加清晰,也更容易理解和维护。 在 C++ 中,继承通过关键字 class 后面的 : 来实现,例如 class DerivedClass : public BaseClass,其中 DerivedClass 是派生类,BaseClass 是基类。C++ 中的继承支持多种类型的继承,包括公有继承、保护继承和私有继承,通过不同的访问说明符来控制派生类对基类成员的访问权限。
正文
01-继承简介
在 C++ 中,继承是一种重要的概念,它允许一个类(称为子类或派生类)从另一个类(称为基类或父类)继承属性和行为。这种机制使得代码重用和扩展变得更加容易和灵活。
继承的基本概念包括以下几点:
派生类继承基类的成员:派生类可以继承基类的成员变量和成员函数。这意味着派生类可以使用基类中已有的数据和行为,而无需重新编写。
访问控制:派生类可以选择性地改变从基类继承的成员的访问控制。C++ 中的访问控制有三种:public、protected 和 private。默认情况下,基类的成员是私有的,但是通过使用不同的访问说明符(public、protected、private),可以调整派生类对基类成员的访问权限。
派生类可以添加新的成员:派生类可以添加新的成员变量和成员函数,以满足特定需求或扩展功能。
下面是一个简单的 C++ 代码示例,演示了继承的基本用法:在这个例子中,我们有一个基类 Shape,其中包含 width 和 height 两个成员变量以及对它们进行设置的成员函数。然后,我们定义了一个派生类 Rectangle,它继承了 Shape 类。Rectangle 类添加了一个新的成员函数 getArea(),用于计算矩形的面积。在 main() 函数中,我们创建了一个 Rectangle 类的对象 rect,并使用基类的成员函数设置它的宽度和高度。最后,我们调用 getArea() 函数来计算矩形的面积并输出结果。
#include using namespace std;// 基类class Shape {public: void setWidth(int w) { width = w; } void setHeight(int h) { height = h; }protected: int width; int height;};// 派生类class Rectangle: public Shape {public: int getArea() { return (width * height); }};int main() { Rectangle rect; rect.setWidth(5); rect.setHeight(7); // 访问基类的成员 cout