c++问题,数值筛选函数

img

img

img


为什么我写的代码里1.4不在输出结果之中啊,是小数精度的问题吗?

浮点数存的近似值,a输入后四舍五入一下,(a+0.005-p->val)

【相关推荐】



  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7544683
  • 这篇博客你也可以参考下:C++华为笔试题:开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。
  • 您还可以看一下 夏曹俊老师的C++ 设计模式原理与实战大全-架构师需备课程课程中的 项目完成优化界面添加图标和按钮小节, 巩固相关知识点
  • 除此之外, 这篇博客: C++面经八股文中的 4.6 为什么析构函数可以为虚函数,如果不设为虚函数可能会存在什么问题? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    防止内存泄露,delete p(基类)的时候,它很机智的先执行了派生类的析构函数,然后执行了基类的析构函数。
    如果基类的析构函数不是虚函数,在delete p(基类)时,调用析构函数时,只会看指针的数据类型,而不会去看赋值的对象,这样就会造成内存泄露。
    举例说明:
    子类B继承自基类A;A *p = new B; delete p;
     1) 此时,如果类A的析构函数不是虚函数,那么delete p;将会仅仅调用A的析构函数,只释放了B对象中的A部分,而派生出的新的部分未释放掉。
    2) 如果类A的析构函数是虚函数,delete p; 将会先调用B的析构函数,再调用A的析构函数,释放B对象的所有空间。
    补充: B *p = new B; delete p;时也是先调用B的析构函数,再调用A的析构函数。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^