c++++ 继承用于构建类层次结构,新类(派生类)从基类继承功能并扩展其功能。派生类使用访问说明符声明继承关系,控制对基类成员的访问权限。public 授予派生类和外部代码访问权限,protected 授予派生类及其派生类的访问权限,private 只授予派生类访问权限。通过创建派生类并覆写基类的纯虚函数,派生类可以实现自定义功能,如示例中 rectangle 和 circle 计算特定形状面积的实现。

继承是面向对象编程中的一项基本概念,它允许从现有的类创建新的类。在 C++ 中,继承可以用于构建类层次结构,其中每个类继承自其基类并可能扩展其功能。
为了从基类继承,新的类(派生类)必须使用 public、protected 或 private 访问说明符声明继承关系。语法如下:
class 派生类 : 访问说明符 基类 {
// 派生类成员
};访问说明符控制派生类对基类成员的访问权限:
立即学习“C++免费学习笔记(深入)”;
本书是全面讲述PHP与MySQL的经典之作,书中不但全面介绍了两种技术的核心特性,还讲解了如何高效地结合这两种技术构建健壮的数据驱动的应用程序。本书涵盖了两种技术新版本中出现的最新特性,书中大量实际的示例和深入的分析均来自于作者在这方面多年的专业经验,可用于解决开发者在实际中所面临的各种挑战。 本书内容全面深入,适合各层次PHP和MySQL开发人员阅读,既是优秀的学习教程,也可用作参考手册。
253
public:允许派生类和外部代码访问基类成员。protected:允许派生类及其派生类访问基类成员。private:只允许派生类访问基类成员。考虑一个描述几何形状的类层次结构:
class Shape {
public:
virtual double getArea() const = 0; // 纯虚函数
};
class Rectangle : public Shape {
public:
Rectangle(double width, double height) : _width(width), _height(height) {}
double getArea() const override { return _width * _height; }
private:
double _width, _height;
};
class Circle : public Shape {
public:
Circle(double radius) : _radius(radius) {}
double getArea() const override { return 3.14159 * _radius * _radius; }
private:
double _radius;
};在此示例中,Shape 是形状类的基类,它包含一个纯虚函数 getArea(),这意味着必须在所有派生类中实现它。
Rectangle 是一个从 Shape 继承的矩形类,它覆盖了 getArea() 函数以计算矩形的面积。Circle 是另一个从 Shape 继承的圆类,它也覆盖了 getArea() 函数以计算圆的面积。要使用这个类层次结构,我们可以创建 Rectangle 和 Circle 对象并调用 getArea() 函数:
int main() {
Rectangle rectangle(2.0, 3.0);
cout << "Rectangle area: " << rectangle.getArea() << endl;
Circle circle(5.0);
cout << "Circle area: " << circle.getArea() << endl;
return 0;
}输出:
Rectangle area: 6 Circle area: 78.5398163397
以上就是C++ 中继承如何用于构建类层次结构?的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号