C++子类继承父类

(1)基类的静态成员函数和静态数据成员都可以被继承。

 1 #include <iostream>
 2 #include <string>
 3 
 4 using namespace std;
 5 
 6 class People
 7 {
 8 public:
 9     People() {}
10     ~People() {}
11     static void show(void);
12     static int tall;
13 };
14 
15 void People::show(void)
16 {cout << "The peole!" << endl;}
17 
18 int People::tall = 170;
19 
20 class Student : public People
21 {
22     public:
23     void gotoSchool(void) {cout << "Go to school!" << endl;}
24 };
25 
26 int main(int argc, char *argv[])
27 {
28     Student Jack;
29     Jack.gotoSchool();
30     Student::show();
31     cout << Student::tall << endl;
32 
33     return 0;
34 }

(2)友元函数不可以被继承。

 1 #include <iostream>
 2 #include <string>
 3 
 4 using namespace std;
 5 
 6 class People
 7 {
 8 public:
 9     People() : tall(0) {}
10     ~People() {}
11 
12     friend void showInfo(const People& p)
13     {cout << "The tall: " << p.tall << endl;}
14     static void show(void);
15 private:
16     int tall;
17 };
18 
19 class Student : public People
20 {};
21 
22 int main(int argc, char *argv[])
23 {
24     Student Jack;
25     showInfo(Jack);  // 这里友元函数访问了派生类对象
26 
27     return 0;
28 }

(3)友元类可以不被继承

原文地址:https://www.cnblogs.com/Robotke1/p/3046142.html