c++继承

在C++中,继承(Inheritance)是一种面向对象编程的重要概念,允许一个类派生出另一个类,使得派生类可以继承基类的属性和行为。继承建立了类之间的关系,使得代码重用、扩展和多态性成为可能。

C++中的继承有以下几种类型:

1. 公有继承(Public Inheritance):在公有继承中,派生类继承基类的公有成员和保护成员,但不继承基类的私有成员。在公有继承中,基类的公有成员在派生类中仍然是公有的。

2. 保护继承(Protected Inheritance):在保护继承中,派生类继承基类的保护成员和公有成员,但不继承基类的私有成员。在保护继承中,基类的公有成员在派生类中变为保护的。

3. 私有继承(Private Inheritance):在私有继承中,派生类继承基类的保护成员和公有成员,但不继承基类的私有成员。在私有继承中,基类的公有成员和保护成员在派生类中变为私有的。

继承的语法形式如下:

class Base {
    // 基类定义
};

class Derived : [继承方式] Base {
    // 派生类定义
};

在派生类中,可以访问基类中的公有成员和保护成员,可以通过继承得到基类的属性和行为。派生类还可以添加自己的成员变量和成员函数,以扩展基类的功能。派生类可以通过继承实现代码重用,并通过覆盖(Override)和多态性(Polymorphism)实现灵活的对象行为。

以下是一个简单的继承示例:

#include <iostream>

// 基类
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(10);

    int area = rect.getArea();
    std::cout << "Area: " << area << std::endl;

    return 0;
}

在上述示例中,定义了一个基类 `Shape`,其中包含了设置宽度和高度的成员函数。派生类 `Rectangle` 公开继承了基类 `Shape`,并通过继承获得了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值