📅  最后修改于: 2023-12-03 14:59:36.861000             🧑  作者: Mango
在C++中,继承是一种面向对象编程的重要概念。它允许派生类从基类中获得其属性和方法,从而避免了编写冗余和重复的代码。在这个问题中,我们将探讨C++中的继承以及如何在派生类中访问基类的成员函数和变量。
在C++中,一个类可以从另一个类派生出来。派生类可以访问基类的公有成员,并可以重写(覆盖)其虚函数,从而实现多态性。
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);
}
};
在上面的代码中,我们创建了两个类:Shape和Rectangle。Rectangle类从Shape类中继承,它可以访问Shape类中声明的setWidth()和setHeight()函数。此外,Rectangle类实现了一个名为getArea()的新函数,它使用派生类中继承来的width和height计算矩形的面积。
在派生类中,可以通过以下方式访问基类中声明的公有成员:
Rectangle r;
r.setWidth(5);
r.setHeight(10);
Rectangle *pRect = new Rectangle;
Shape *pShape = pRect;
pShape->setWidth(5);
pShape->setHeight(10);
Rectangle r;
Shape &s = r;
s.setWidth(5);
s.setHeight(10);
继承是C++中的一个重要概念。它使得代码得到重用,使类的层次结构分层化,从而简化了程序的设计和维护。在派生类中,可以通过对象、指针或引用来访问基类中的成员函数和变量。