分享遗产(智力竞赛)

我读了最近的讨论文章,发现一些有趣的东西,有人把它作为一个问题介绍给我,但我不是从这里开始发展整个故事,而是向你挑战 两个不同的智力竞赛。

null
测验1
  1. #包括
  2. 福{
  3. 公众的 :
  4. 事实上的 无效 DoStuff()=0;
  5. };
  6. 酒吧: 公众的 福{
  7. 公众的 :
  8. 事实上的 无效 多斯凝灰岩( 内景 a) =0;
  9. };
  10. 巴兹: 公众的 酒吧{
  11. 公众的 :
  12. 无效 多斯凝灰岩( 内景 (一) 覆盖
  13. {
  14. 标准::cout<< “Baz::DoStuff(int)” ;
  15. }
  16. 无效 多斯塔夫() 覆盖
  17. {
  18. 标准::cout<< “Baz::DoStuff()” ;
  19. }
  20. };
  21. 内景 主(){
  22. 巴兹巴兹;
  23. 巴*巴=&baz;
  24. pBar->DoStuff();
  25. }

如果不使用visualstudio或您喜欢的构建工具,仅凭您的知识,如果我们尝试运行此代码,您希望在控制台中看到什么?为什么?

现在让我们做一个小小的改动,用不获取参数的方法代替获取char的方法,如下所示:

测验2
  1. #包括
  2. 福{
  3. 公众的 :
  4. 事实上的 无效 多斯凝灰岩( 烧焦 a) =0;
  5. };
  6. 酒吧: 公众的 福{
  7. 公众的 :
  8. 事实上的 无效 多斯凝灰岩( 内景 a) =0;
  9. };
  10. 巴兹: 公众的 酒吧{
  11. 公众的 :
  12. 无效 多斯凝灰岩( 内景 (一) 覆盖
  13. {
  14. 标准::cout<< “Baz::DoStuff(int)” ;
  15. }
  16. 无效 多斯凝灰岩( 烧焦 (一) 覆盖
  17. {
  18. 标准::cout<< “Baz::DoStuff(字符)” ;
  19. }
  20. };
  21. 内景 主(){
  22. 巴兹巴兹;
  23. 巴*巴=&baz;
  24. pBar->DoStuff公司( “a” );
  25. }

如果我们运行这个新版本,只要它编译时没有错误,那么在输出控制台中会看到什么?为什么?

本节解释了解决方案 续集 .

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享