继承c++定义和代码示例
时间: 2023-09-13 18:10:58 浏览: 126
在C++中,继承是一种面向对象编程的重要概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和行为。子类可以使用父类的成员变量和成员函数,并且可以添加自己的新成员变量和成员函数。
下面是继承的定义和示例代码:
定义:
1. 继承使用关键字`class`后跟着冒号和父类的名称进行定义。
2. 继承有三种类型:公有继承(public inheritance)、私有继承(private inheritance)和保护继承(protected inheritance)。
3. 公有继承表示父类中的公有成员在子类中仍然是公有的,私有成员在子类中无法访问。
4. 私有继承表示父类中的公有成员在子类中变为私有的,私有成员在子类中无法访问。
5. 保护继承表示父类中的公有成员在子类中变为保护的,私有成员在子类中无法访问。
示例代码:
```cpp
// 父类
class Shape {
protected:
int width;
int height;
public:
void setWidth(int w) {
width = w;
}
void setHeight(int h) {
height = h;
}
};
// 子类
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`。子类`Rectangle`通过`public`关键字进行公有继承,表示子类可以访问父类的公有成员。
在`Rectangle`子类中,我们可以使用父类`Shape`的成员变量`width`和`height`,并且可以使用父类的成员函数`setWidth()`和`setHeight()`来设置这些成员变量的值。子类还添加了一个自己的成员函数`getArea()`,用于计算矩形的面积。
在`main()`函数中,我们创建了一个子类对象`rect`,并使用父类和子类的成员函数来设置宽度和高度,并计算矩形的面积。
继承提供了代码重用和扩展的能力,使得我们可以构建层次化的类结构,并在子类中添加新的功能。通过继承,子类可以继承父类的特性,并且可以进行修改和扩展。
阅读全文