继承的语法:class 子类名 : 继承方式 父类名。

    继承方式一共有三种:
    1:公共继承
    2:保护继承
    3:私有继承

    1. #include<iostream>
    2. using namespace std;
    3. class Base1
    4. {
    5. public:
    6. int m_a;
    7. protected:
    8. int m_b;
    9. private:
    10. int m_c;
    11. };
    12. class son1:public Base1
    13. {
    14. public:
    15. void show()
    16. {
    17. m_a=10;//父类中的公共权限成员 到子类中依然是公共权限
    18. m_b=20;//父类中的保护权限成员 到子类中依然是保护权限
    19. // m_c=30;//父类中的私有成员 类外访问不到
    20. }
    21. };
    22. void show01()
    23. {
    24. son1 p1;
    25. p1.m_a=10;
    26. // p1.m_b=10;//son1中m_b是保护权限 类外访问不到。
    27. // p1.m_c=10;//son1中m_b是私有权限 类外访问不到。
    28. }
    29. class Base2
    30. {
    31. public:
    32. int m_a;//父类中的公共成员 到子类中变为保护权限
    33. protected:
    34. int m_b;//父类中的保护成员 到子类中变成保护权限
    35. private:
    36. int m_c;//父类中私有成员 子类中访问不到
    37. };
    38. class son2:protected Base2
    39. {
    40. public:
    41. void show()
    42. {
    43. m_a=10;// 在son2中 m_a变为保护权限,因此类外访问不到
    44. m_b=20;//
    45. // m_c=30;//
    46. }
    47. };
    48. void show02()
    49. {
    50. son2 p2;
    51. // p2.m_a=10;// 在son2中 m_a变为保护权限,因此类外访问不到
    52. // p2.m_b=10;//在son2中 m_b本身就是保护权限,因此类外访问不到
    53. // p2.m_c=10;//
    54. }
    55. class Base3
    56. {
    57. public:
    58. int m_a;
    59. protected:
    60. int m_b;
    61. private:
    62. int m_c;
    63. };
    64. class son3:private Base3
    65. {
    66. public:
    67. void show()
    68. {
    69. m_a=10;//父类中公共成员 到子类中变为 私有成员
    70. m_b=20;//父类中保护成员 到子类中变为 私有成员
    71. // m_c=30;//父类中私有成员,子类中访问不到
    72. }
    73. };
    74. void show03()
    75. {
    76. son3 p3;
    77. // p3.m_a=10;
    78. // p3.m_b=10;
    79. // p3.m_c=10;
    80. }
    81. int main()
    82. {
    83. show01();
    84. return 0;
    85. }

    网址:https://www.bilibili.com/video/BV1et411b73Z?p=128