纯虚函数的定义: virtual 返回类型 函数名(形参) = 0
含有纯虚函数的类叫抽象类
抽象类的特点:不能用抽象类去实例化对象
抽象类的作用:提供一个统一的接口,让子类去实现,子类实现之后才可以实例化对象
1. /** 2. 纯虚函数的定义: virtual 返回类型 函数名(形参) = 0 3. 含有纯虚函数的类叫抽象类 4. 抽象类的特点:不能用抽象类去实例化对象 5. 抽象类的作用:提供一个统一的接口,让子类去实现,子类实现之后才可以实例化对象 6. */ 7. 8. class figure //抽象类 9. { 10. public: 11. virtual void getS() = 0; //纯虚函数 12. 13. protected: 14. private: 15. 16. }; 17. 18. class Circle : public figure 19. { 20. public: 21. Circle(int a) 22. { 23. this->a = a; 24. } 25. virtual void getS() 26. { 27. cout << "the area of the circle is " << 3.14*a*a << endl; 28. } 29. 30. protected: 31. private: 32. int a; 33. }; 34. 35. class Triangle : public figure 36. { 37. public: 38. Triangle(int a, int b) 39. { 40. this->a = a; 41. this->b = b; 42. } 43. virtual void getS() 44. { 45. cout << "the area of the triangel is " << a*b/2 << endl; 46. } 47. 48. protected: 49. private: 50. int a; 51. int b; 52. }; 53. 54. 55. void objplay(figure * base) 56. { 57. base->getS(); //会发生多态 58. } 59. 60. int main(void) 61. { 62. //figure F; //抽象类不能实例化对象 63. //figure *base = NULL; 64. 65. Circle c1(10); 66. Triangle t1(10,20); 67. 68. objplay(&c1); 69. objplay(&t1); 70. 71. system("pause"); 72. return 0; 73. }