📜  C++中基类和派生类的区别(1)

📅  最后修改于: 2023-12-03 14:59:49.898000             🧑  作者: Mango

C++中基类和派生类的区别

在C++中,基类和派生类是面向对象编程中的两个核心概念。基类是派生类的父类,派生类继承了基类的属性和方法。下面详细介绍基类和派生类的区别。

基类

基类是定义了一组属性和方法的类,它是其他类的父类。在C++中,基类可以包含成员变量和成员函数。下面是一个基类的示例:

class Shape {
public:
    double getArea() {
        return 0;
    }
};

在这个示例中,Shape是一个基类,它包含了一个公有成员函数getArea()。基类可以被其他类继承,也可以作为其他类的对象被实例化。

派生类

派生类是通过继承基类的属性和方法来创建的新类。它可以通过关键字class来定义。下面是一个派生类的示例:

class Rectangle : public Shape {
public:
    double getArea() {
        return length * width;
    }

private:
    double length;
    double width;
};

在这个示例中,Rectangle是派生类,它继承了基类Shape的属性和方法,并且添加了自己的成员变量lengthwidth,以及重新定义了基类的成员函数getArea()

区别

基类和派生类之间的主要区别如下:

  1. 继承关系: 派生类继承了基类的属性和方法,使得派生类可以访问基类的公有和受保护的成员。基类没有继承派生类的属性和方法。

  2. 扩展功能: 派生类可以在继承基类的基础上,添加自己的成员变量和成员函数,从而扩展基类的功能。

  3. 重写函数: 派生类可以重新定义基类的成员函数,实现自己的业务逻辑。这种重写被称为函数的覆盖或重载。

  4. 多继承: 在C++中,派生类可以同时继承多个基类,实现多继承的特性。

需要注意的是,在派生类中,通过关键字protectedprivate可以控制基类成员的访问级别。派生类也可以调用基类的构造函数和析构函数,完成基类的初始化和清理工作。

以上就是C++中基类和派生类的区别。基类提供了通用的属性和方法,派生类通过继承和扩展基类来实现更具体的功能。