📅  最后修改于: 2023-12-03 14:59:49.898000             🧑  作者: Mango
在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
的属性和方法,并且添加了自己的成员变量length
和width
,以及重新定义了基类的成员函数getArea()
。
基类和派生类之间的主要区别如下:
继承关系: 派生类继承了基类的属性和方法,使得派生类可以访问基类的公有和受保护的成员。基类没有继承派生类的属性和方法。
扩展功能: 派生类可以在继承基类的基础上,添加自己的成员变量和成员函数,从而扩展基类的功能。
重写函数: 派生类可以重新定义基类的成员函数,实现自己的业务逻辑。这种重写被称为函数的覆盖或重载。
多继承: 在C++中,派生类可以同时继承多个基类,实现多继承的特性。
需要注意的是,在派生类中,通过关键字protected
和private
可以控制基类成员的访问级别。派生类也可以调用基类的构造函数和析构函数,完成基类的初始化和清理工作。
以上就是C++中基类和派生类的区别。基类提供了通用的属性和方法,派生类通过继承和扩展基类来实现更具体的功能。