多边形的类将包含两种类型的多边形的普通成员。在我们的案例:宽度和高度。和矩形和三角形将其派生类,这是不同的从一种类型的多边形的其他特定功能。
这是从其他类继承所有的基类成员的访问。这意味着,如果一个基类的成员,包括我们派生一个类从它与另一个成员称为B,派生类将包含两个成员和成员B.
两个类的继承关系是派生类的声明。派生类定义使用以下语法:
类derived_class_name:公共base_class_name
{ /*……*/};
在derived_class_name是派生类和base_class_name名称是类的名字,它的基础。公共访问说明符可以由其他访问说明符任何人取代(protected或private)。从基类继承的成员访问说明符最接近水平的限制:一个更容易的继承成员这个水平相反,而与同等或更严格的访问级别在派生类中保持他们的限制级别的成员。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// derived classes
#include <iostream>
using namespace std;
class Polygon {
protected:
int width, height;
public:
void set_values (int a, int b)
{ width=a; height=b;}
};
class Rectangle: public Polygon {
public:
int area ()
{ return width * height; }
};
class Triangle: public Polygon {
public:
int area ()
{ return width * height / 2; }
};
int main () {
Rectangle rect;
Triangle trgl;
rect.set_values (4,5);
trgl.set_values (4,5);
cout << rect.area() << '\n';
cout << trgl.area() << '\n';
return 0;
}