C++ 继承与多继承

布满荆棘的人生 2022-09-03 04:23 383阅读 0赞

继承的作用:

用已有的数据类型创建新的数据类型,并保留已有数据类型的特点,被继承的类成为父类或者基类,继承的类成为子类或者派生类.

继承的一般形式

class 子类 : [继承方法] 父类{

};

“:” 表示子类和父类之间的继承关系.

继承方法有3种:




























访问 public protected private
同一个类 yes yes yes
派生类 yes yes no
外部的类 yes no no

继承之后子类可以访问父类的变量,以及调用父类里面的方法

  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. class Fun_a
  5. {
  6. public:
  7. int a = 5;
  8. int b = 6;
  9. void add()
  10. {
  11. cout << a + b << endl;
  12. }
  13. };
  14. class Fun_b : public Fun_a
  15. {
  16. public:
  17. void getContent()
  18. {
  19. // 子类使用父类里面的变量
  20. cout << a + b << endl;
  21. }
  22. };
  23. int main()
  24. {
  25. Fun_a fun_a;
  26. fun_a.add();
  27. Fun_b fun_b;
  28. fun_b.getContent();
  29. // 子类调用父类的方法
  30. fun_b.add();
  31. return 0;
  32. }

多继承的一般形式

class 子类 : [继承方法1] 父类1,[继承方法2]父类2,[继承方法3]父类3…..{

};

  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. class Fun_a
  5. {
  6. public:
  7. int a = 5;
  8. int b = 6;
  9. void add()
  10. {
  11. cout << a + b << endl;
  12. }
  13. };
  14. class Fun_b
  15. {
  16. public:
  17. int c = 7;
  18. int d = 8;
  19. void add1()
  20. {
  21. cout << c + d << endl;
  22. }
  23. };
  24. class Fun_c : public Fun_a, public Fun_b
  25. {
  26. public:
  27. void getContent()
  28. {
  29. // 子类使用父类里面的变量
  30. cout << a + b + c + d << endl;
  31. }
  32. };
  33. int main()
  34. {
  35. Fun_a fun_a;
  36. fun_a.add();
  37. Fun_b fun_b;
  38. fun_b.add1();
  39. Fun_c fun_c;
  40. fun_c.getContent();
  41. // 子类调用父类的方法
  42. fun_c.add();
  43. fun_c.add1();
  44. return 0;
  45. }

发表评论

表情:
评论列表 (有 0 条评论,383人围观)

还没有评论,来说两句吧...

相关阅读

    相关 717-C++继承

    继承的好处是什么? 1.基类给所有派生类提供公共的属性(成员变量)和方法(成员函数),通过继承达到代码复用的目的。 2.基类可以给所有派生类提供统一的纯虚函数接口,派

    相关 C++ 继承继承

    继承的作用: 用已有的数据类型创建新的数据类型,并保留已有数据类型的特点,被继承的类成为父类或者基类,继承的类成为子类或者派生类. 继承的一般形式 class 子类 :

    相关 java中单继承继承

      单继承:一个子类只能有一个直接父类   多继承:一个子类可以有多个直接父类(java中不允许,进行了改良)         不直接支持,因为多个父类中有相同成员,会