虚函数基本概念

1.PNG

多态的两种表现形式

其一

2.PNG

其二

3.PNG

多态的作用

4.PNG
注:多态的作用将在后两节得到体现

代码实例

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. class A
  4. {
  5. public:
  6. virtual void print(void) { cout << "Class A::Print" << endl; };
  7. };
  8. class B : public A
  9. {
  10. public:
  11. virtual void print(void) { cout << "Class B::Print" << endl; };
  12. };
  13. class D : public A
  14. {
  15. public:
  16. virtual void print(void) { cout << "Class D::Print" << endl; };
  17. };
  18. class E : public B
  19. {
  20. public:
  21. virtual void print(void) { cout << "Class E::Print" << endl; };
  22. };
  23. int main(void)
  24. {
  25. A a;
  26. B b;
  27. D d;
  28. E e;
  29. A *pa = &a;
  30. B *pb = &b;
  31. D *pd = &d;
  32. E *pe = &e;
  33. pa->print();
  34. pa = pb;
  35. pb->print();
  36. pa = pd;
  37. pa->print();
  38. pa = pe;
  39. pa->print();
  40. return 0;
  41. }
  42. /*
  43. Class A::Print
  44. Class B::Print
  45. Class D::Print
  46. Class E::Print
  47. */