重载类中的函数调用运算符

2023-12-14

在我的教授给我的 .h 文件中,他写道

    double operator()(double x) const;

重载的要点是将 x 作为双精度值读入,并使用它来计算存储在类对象 Term 中的多项式。我在课堂实现中想到的是

    double operator()(double x) const
    {   double result = 0.0;
        for (int i = 0; i < getSize(); i++)
            result += (getCoeff(i) * pow(x, getExponent(i)));
        return result;
    }

我如何从应用程序中调用它?我尝试过不同的电话,例如

    Polynomial p;
    p.operator(x);

or

    Polynomial::operator(x);

or

    operator(x);

但编译时总是出错。


通常的形式是像您的实例是一个函数一样调用它:

double x = 3.1416;
Polynomial p;
double y = p(x);

或者,您可以显式调用运算符:

double x = 3.1416;
Polynomial p;
double y = p.operator()(x);

这是一个简化的示例:

#include <iostream>

struct Foo
{
  double operator()(double x) const { return x*2; }
};

int main()
{
  Foo f;
  std::cout << f(2.5) << std::endl;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重载类中的函数调用运算符 的相关文章

  • 为什么相同的代码在同一台计算机上的执行时间可能不同?

    我是 C 编程新手 我编写了代码并希望获得它的运行时 这就是我所做的 每次运行代码时 我都会得到不同的运行时值 这样对吗 或者我的代码有问题吗 int main int argc char argv time t start end sta
  • c和java语言中的换行符

    现在行分隔符取决于系统 但在 C 程序中我使用 n 作为行分隔符 无论我在 Windows 还是 Linux 中运行它都可以正常工作 为什么 在java中 我们必须使用 n 因为它与系统相关 那么为什么我们在c中使用 n 作为新行 而不管我
  • 如何在 C++ 中的文件末尾添加数据?

    我已按照网上的说明进行操作 此代码应该将输入添加到文件 数据库 的末尾 但当我检查时 数据会覆盖现有数据 请帮忙 这是我的代码 int main string name string address string handphone cou
  • 如何读取扩展文件属性/文件元数据

    因此 我按照教程使用 ASP net core 将文件 上传 到本地路径 这是代码 public IActionResult About IList
  • 如何修复此错误“GDI+ 中发生一般错误”?

    从默认名称打开图像并以默认名称保存 覆盖它 我需要从 Image Default jpg 制作图形 将其放在 picturebox1 image 上并在 picurebox1 上绘制一些图形 它有效 这不是我的问题 但我无法保存 pictu
  • 在 Unity 进程和另一个 C# 进程之间进行本地 IPC 的最快方法 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我希望每秒大约 30 次从 C 应用程序向我的 Unity 应用程序传送大量数据 由于 Unity 不支持映射内存和管道 我考虑了 t
  • 单元测试一起运行时失败,单独运行时通过

    所以我的单元测试遇到了一些问题 我不能只是将它们复制并粘贴到这里 但我会尽力而为 问题似乎是 如果我一项一项地运行测试 一切都会按预期进行 但如果我告诉它一起运行测试 则 1 5 将通过 TestMethod public void Obj
  • 如何访问另一个窗体上的ListView控件

    当单击与 ListView 所在表单不同的表单中的按钮时 我试图填充 ListView 我在 Form1 中创建了一个方法以在 Form2 中使用 并将参数传递给 Form1 中的方法 然后填充 ListView 当我调试时 我得到了传递的
  • 使用 JNI 从 Java 代码中检索 String 值的内存泄漏

    我使用 GetStringUTFChars 从使用 JNI 的 java 代码中检索字符串的值 并使用 ReleaseStringUTFChars 释放该字符串 当代码在 JRE 1 4 上运行时 不会出现内存泄漏 但如果相同的代码在 JR
  • 未定义的行为或误报

    我 基本上 在野外遇到过以下情况 x x 5 显然 它可以在早期版本的 gcc 下编译干净 在 gcc 4 5 1 下生成警告 据我所知 警告是由 Wsequence point 生成的 所以我的问题是 这是否违反了标准中关于在序列点之间操
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • C++:.bmp 到文件中的字节数组

    是的 我已经解决了与此相关的其他问题 但我发现它们没有太大帮助 他们提供了一些帮助 但我仍然有点困惑 所以这是我需要做的 我们有一个 132x65 的屏幕 我有一个 132x65 的 bmp 我想遍历 bmp 并将其分成小的 1x8 列以获
  • 使用 Moq 使用内部构造函数模拟类型

    我正在尝试模拟 Microsoft Sync Framework 中的一个类 它只有一个内部构造函数 当我尝试以下操作时 var fullEnumerationContextMock new Mock
  • std::async 与重载函数

    可能的重复 std bind 重载解析 https stackoverflow com questions 4159487 stdbind overload resolution 考虑以下 C 示例 class A public int f
  • 有人可以提供一个使用 Amazon Web Services 的 itemsearch 的 C# 示例吗

    我正在尝试使用 Amazon Web Services 查询艺术家和标题信息并接收回专辑封面 使用 C 我找不到任何与此接近的示例 所有在线示例都已过时 并且不适用于 AWS 的较新版本 有一个开源项目CodePlex http www c
  • C++ 密码屏蔽

    我正在编写一个代码来接收密码输入 下面是我的代码 程序运行良好 但问题是除了数字和字母字符之外的其他键也被读取 例如删除 插入等 我知道如何避免它吗 特q string pw char c while c 13 Loop until Ent
  • Server.MapPath - 给定的物理路径,预期的虚拟路径

    我正在使用这行代码 var files Directory GetFiles Server MapPath E ftproot sales 在文件夹中查找文件 但是我收到错误消息说 给定物理路径但虚拟路径 预期的 我对在 C 中使用 Sys
  • 编译时“strlen()”有效吗?

    有时需要将字符串的长度与常量进行比较 例如 if line length gt 2 Do something 但我试图避免在代码中使用 魔法 常量 通常我使用这样的代码 if line length gt strlen Do somethi
  • 当另一个线程可能设置共享布尔标志(最多一次)时,是否可以读取共享布尔标志而不锁定它?

    我希望我的线程能够更优雅地关闭 因此我尝试实现一个简单的信号机制 我不认为我想要一个完全事件驱动的线程 所以我有一个工作人员有一种方法可以使用关键部分优雅地停止它Monitor 相当于C lock我相信 绘图线程 h class Drawi
  • 防止在工厂方法之外实例化对象

    假设我有一个带有工厂方法的类 class A public static A newA Some code logging return new A 是否可以使用 a 来阻止此类对象的实例化new 那么工厂方法是创建对象实例的唯一方法吗 当

随机推荐

  • 无法将 target.value 传递给状态钩子返回未定义 - React.js React

    单击时 我想将名称属性传递给状态挂钩 但它返回未定义 const fav setFav useState useEffect gt dispatch fetchProfileAction user dispatch fetchReposAc
  • Mongo 在双重嵌套数组内更新

    我有一个 mongo 集合 看起来像这样 db users find pretty id ObjectId 57c3d5b3d364e624b4470dfb fullname tim username tim email email pro
  • 在 Windows 中使用 rinside 和 qt

    我开始在 C 中使用 rinside 和 rcpp 我只想从零开始 所以我的 QT 项目除了创建 RInside 实例之外什么都没有 但我有一个无法解决的问题 我的项目中只有一个对话框 我的项目文件 QT core gui TARGET r
  • 在 Ionic 中创建并显示 pdf

    我在用PDFMAKE创建一个base64编码的pdf 我尝试通过将编码的base64提供给iframe src来用Iframe显示它 它可以在 PC 上运行 但不能在移动设备 android 和 ios 上运行 所以 最后我偶然发现Angu
  • ST4中过滤掉空字符串

    考虑以下示例 lt foo bar separator gt 这给出了结果 foo bar 但是我需要 foo bar 在 ST4 中使用分隔符进行格式化之前 有什么方法可以过滤掉空字符串值吗 在实际代码中 值来自另一个模板 该模板具有
  • Spring 和 Thymeleaf:从 th:each 表将对象发送到控制器

    我正在使用以下方法制作经验数据表th each属性与百里香叶我的目标是在每一行都有一个提交按钮 单击该按钮时 会将一个体验对象发送到我的控制器 该对象与我单击提交按钮的行相对应 我不知道出了什么问题 并且似乎无法在网上找到任何可以帮助解决此
  • 您能否提供一些示例来说明为什么使用正则表达式解析 XML 和 HTML 很困难? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我看到人们犯的一个错误over and 再次正在尝试使用正则表达式解析 XML 或 HTML 以下是解析 XML 和 HTML 困难的一些原因 人们希望将文件视为行序列 但这是有
  • 确定论坛中未读的项目

    我正在尝试使用 PHP 和 MySQL 构建一个论坛系统 我想知道的是 如何设置它 以便当用户阅读论坛条目时 它显示为仅针对该用户阅读 无论他们在哪个论坛 直到其他人在其上发帖 目前 对于每个线程 我有一个带有 PostID 的表 并具有发
  • 无法确定元音和辅音

    通过下面的代码 无论输入的第一个字母是什么 它总是被确定为元音 original raw input Please type in a word firstLetter original 0 print firstLetter if fir
  • java / grails中的服务器端网络打印

    我是 java grails 开发人员 致力于重新设计软件系统 要求之一是让服务器端应用程序将数据发送到各种网络打印机以打印文本数据 我在网上搜索了有关java网络打印的信息 但没有找到 我查看了 Java Print Service AP
  • 角度图添加水平线

    我想像这里一样添加水平线 Chart js 绘制水平线到我的 angular chart js 如果我理解正确的话 我需要做的是扩展线型图表 我应该如何以及在哪里执行此操作 编写自己的指令 尝试扩展 Angular config 中的 ch
  • 通过下标获取末尾一位数组元素的地址:C++ 标准是否合法?

    我已经多次看到有人断言以下代码是 C 标准不允许的 int array 5 int array begin array 0 int array end array 5 Is array 5 在这种情况下合法的 C 代码吗 如果可能的话 我希
  • mysql其他表中子项的总价

    我有两个表 一个存储数据子级和父级层次结构以及其他路径和后代 userid parent price 1 null 20 2 1 20 3 1 20 4 2 20 5 2 20 6
  • 如何在不指定URL的情况下打开默认的android浏览器?

    我对此失去了理智 我想打开用户的默认网络浏览器 我可以用这个 startActivity new Intent Intent ACTION VIEW Uri parse http google com 打开浏览器并将用户引导至该 URL 但
  • 使用网格恢复“无效”不会使用 jQuery UI Draggable 返回起始位置

    简而言之 如果您将draggable与网格一起使用并在可拖动项目上设置revert invalid 它们不会返回到您开始拖动它们的完全相同的位置 它们会返回到靠近您开始拖动它们的位置的地方 非常奇怪 这很可能是用户界面中的一个错误 如果是这
  • 长按识别器结束后调用 wkwebviewdecidePolicyForNavigationAction

    我试图覆盖原来的 wkwebview 操作表 首先 我禁用了原始的 wkactionsheetwebView evaluateJavaScript document body style webkitTouchCallout none co
  • 如何在 Python 中对存储在文件中的非常大的列表进行打乱?

    我需要确定性地生成一个包含 0 到 2 32 1 数字的随机列表 这将是一种天真的 并且完全不起作用 的做法 只是为了清楚我想要什么 import random numbers range 2 32 random seed 0 random
  • MYSQL 自连接如何工作?

    我最近问了一个关于自加入的问题 我得到了很好的答案 该查询旨在查找紧随事件 1 1 天的事件 2 的 ID 开始日期和价格 该代码运行良好 但我不明白怎么做 有人可以尽可能彻底地解释查询的不同部分是什么以及它们的作用吗 SELECT eve
  • 如何使用数组的最后一个元素对集合进行排序

    我的问题是 我下面有一个集合 id 被忽略 value 10 r v 1 v 3 value 2 r v 4 v 1 value 100 r v 4 v 1 v 10 value 3 r 我如何按数组 r 的最后一个值对其进行排序 也就是说
  • 重载类中的函数调用运算符

    在我的教授给我的 h 文件中 他写道 double operator double x const 重载的要点是将 x 作为双精度值读入 并使用它来计算存储在类对象 Term 中的多项式 我在课堂实现中想到的是 double operato