[关闭]
@CrazyHenry 2018-02-22T17:26:27.000000Z 字数 798 阅读 1065

15.x 纯虚函数是否可以定义

ccccC++Primer


  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <iterator>
  5. #include <algorithm>
  6. #include <typeinfo>
  7. #include <numeric>
  8. #include <memory>
  9. #include <initializer_list>
  10. using namespace std;
  11. //win+<-/-> 切换窗口位置
  12. //ctrl+win+<-/->切换桌面
  13. //ctrl+alt+上/下 改变显示器方向
  14. class Test
  15. {
  16. public:
  17. virtual int func() {cout<<"Test"<<endl;}
  18. };
  19. class Test1:public Test
  20. {
  21. public:
  22. virtual int func()=0;
  23. };
  24. inline
  25. int Test1::func()
  26. {
  27. cout<<"Test1"<<endl;
  28. }
  29. class Test2:public Test1
  30. {
  31. public:
  32. virtual int func() override;
  33. };
  34. inline int Test2::func()
  35. {
  36. cout<<"Test2"<<endl;
  37. Test::func();
  38. Test1::func();
  39. }
  40. int main()
  41. {
  42. Test2 t2;
  43. Test *p = &t2;
  44. p->func();
  45. return 0;
  46. }

image.png-13.8kB

如果不定义,调用了将会发生系统级编译错误!
一般不要随意定义和调用纯虚函数,纯虚函数调用是没有意义的!

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注