如何将用户定义的对象插入STL集中?

2023-11-26

我正在尝试将对象 Point2D 插入 Point2D 集合中,但我无法做到这一点,该集合似乎适用于 int 和 char 但不适用于对象。

我需要帮助来了解如何将对象插入集合中???假设我想按 x 值的升序对它们进行排序

class Point2D
{
public:
    Point2D(int,int);
    int getX();
    int getY();

    void setX(int);
    void setY(int);

    double getScalarValue();

protected:
    int x;
    int y;
    double distFrOrigin;
    void setDistFrOrigin();
};


int main()
{
    Point2D abc(2,3);

    set<Point2D> P2D;
    P2D.insert(abc); // i am getting error here, i don't know why
}

您需要实施operator<你的班级超载。例如,在您的班级中,您可以执行以下操作:

friend bool operator< (const Point2D &left, const Point2D &right);

然后,在课堂外:

bool operator< (const Point2D &left, const Point2D &right)
{
    return left.x < right.x;
}

Edit:根据退休忍者的建议,您还可以将其实现为类中的常规成员函数:

bool operator< (const Point2D &right) const
{
    return x < right.x;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将用户定义的对象插入STL集中? 的相关文章

  • EF Core Group By 翻译支持条件总和

    听说 EF Core 2 1 将支持翻译小组 我感到非常兴奋 我下载了预览版并开始测试它 但发现我在很多地方仍然没有得到翻译分组 在下面的代码片段中 对 TotalFlagCases 的查询将阻止翻译分组工作 无论如何 我可以重写这个以便我
  • C 编程 - 文件 - fwrite

    我有一个关于编程和文件的问题 while current NULL if current gt Id Doctor 0 current current gt next id doc current gt Id Doctor if curre
  • 通过 CMIS (dotCMIS) 连接到 SP2010:异常未经授权

    我正在使用 dotCMIS 并且想要简单连接到我的 SP2010 服务器 我尝试用 C 来做到这一点 如下所示http chemistry apache org dotnet getting started with dotcmis htm
  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • 按成员序列化

    我已经实现了template
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new

随机推荐

  • Oracle 是否会在 JRE 7 更新 51 上终止 Intranet 小程序?

    参考7u51 中 RIA 的新安全要求 2014 年 1 月 RIA 必须包含两件事 来自可信机构的代码签名 Applet 和 Web Start 应用程序的所有代码都必须经过签名 无论其权限属性如何 Manifest Attributes
  • ExecutorService(特别是ThreadPoolExecutor)线程安全吗?

    是否ExecutorService保证线程安全 我将从不同线程向同一个 ThreadPoolExecutor 提交作业 在交互 提交任务之前是否必须同步对执行器的访问 与其他答案相反 线程安全契约is记录 查看interfacejavado
  • 我想将 iPhone 虚拟键的“返回”键更改为另一个名称

    我想将 iPhone 虚拟键的 返回 键更改为另一个名称 例如 Go 请帮帮我 有一个房产 property nonatomic UIReturnKeyType returnKeyType 定义在UITextInputTraits协议 所以
  • 使用 ModelBinder 之前更改区域性

    我想创建一个不同语言的网站 我已经读到我可以创建一个动作过滤器 但我有一个小问题 我必须创建一个自定义 ModelBinder 才能使用英语和德语数字格式 123 456 789 1 vs 123 456 789 1 public clas
  • 如何在 Google Chrome 中的内联 Javascript 中设置断点?

    当我在 Google Chrome 中打开开发人员工具时 我看到了各种功能 例如配置文件 时间线和审核 但缺少基本功能 例如能够在 js 文件以及 html 和 javascript 代码中设置断点 我尝试使用 javascript 控制台
  • 将服务器端 mvc 变量传递给 javascript [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在查看有关将服务器端变
  • 动态定义在 Spring 中自动装配哪个 bean(使用限定符)

    我有一个 Java EE Spring 应用程序 它更喜欢注释而不是 XML 配置 bean 始终具有原型范围 现在 我的应用程序中的业务规则取决于用户请求所在的国家 地区 所以我会有这样的东西 请记住这个例子被大大简化了 Componen
  • 如何重新排列数组中的数据以使两个相似的项目不相邻?

    只是想重新排列数组中的数据 以便相似的项目不再相邻 数据不应从数组中删除 如果无法重新排列 可以将其放在数组末尾 但保持原来的顺序是必要的 Example 1 1 2 gt 1 2 1 1 1 1 2 3 gt 1 2 1 3 1 1 1
  • 白日梦设置

    我正在尝试为我的设置创建Daydream根据文档 我需要创建一个 xml 文件 如下所示
  • 在 JavaScript 中通过 JSON 对象进行类似 Lucene 的搜索

    我有一个相当大的 JSON 对象数组 它是一个音乐库 具有艺术家 专辑等属性 使用 loadonce true 提供 jqgrid 并且我想通过整个集合实现类似 lucene 类似 google 的查询 但在本地 即在浏览器中 不与网络服务
  • 为什么我收到 UIBarButtonItem 自定义警告?

    我有一个简单的故事板 导航视图控制器内有一个表格视图 该控制器从表格视图推送到另一个具有全屏图像视图的视图控制器 表视图的导航栏中有提示文本 当我点击表格视图中的表格视图单元格时 我收到以下警告 我根本没有自定义后退按钮 我创建了一个示例项
  • Microsoft.Web.Administration.ServerManager 在错误的目录中查找 IISExpress applicationHost.config

    当尝试获取当前计算机上的应用程序池时 我遇到了一个奇怪的问题 看起来 当安装 IISExpress 时 Microsoft 代码除了完整的 IIS 之外还想检查 IISExpress IISExpress 对每个用户使用单独的 applic
  • 在 NodeJS 服务器之间发送文件最有效的方式是什么?

    介绍 假设在同一个本地网络上 我们有两个使用 Express 设置的 Node JS 服务器 用于 API 的服务器 A 和用于表单的服务器 F 服务器 A 是一个 API 服务器 它接收请求并将其保存到 MongoDB 数据库 文件存储为
  • 发送到 NTP 服务器的 '\x1b' + 47 * '\0' 消息是什么意思?

    我正在开发 NTP 客户端 其他一些线程表明包含 x1b 47 0 的消息被发送到 NTP 服务器 但这些线程都没有解释该消息的实际含义或发送原因 我尝试查看 NTP RFC 但也无法在其中找到任何有关它的信息 x1b 47 0 表示48字
  • Java中如何比较两个时刻?

    我想要对比二Instants 查看是否等于或大于 但我不能 我不知道 我如何比较瞬间 private Instant expiration if expiration Instant now expiration gt Instant no
  • 没有大括号的 JavaScript if 语句的简洁语法

    务实地说 我对我正在寻找的东西有一个快速而肮脏的答案here 但为什么使用它不是一个好主意呢 为什么我找不到它的正式文档 它不是规范和标准的一部分吗 不是得到广泛支持吗 仅仅是因为缩小可能会破坏使用该语法的代码吗 如果您能给我提供有关该功能
  • 如何在AWS S3中上传Image Buffer数据?

    我正在尝试将缓冲区数据从图像上传到 S3 它上传得很好 但是当我尝试在 S3 中下载 查看图像时 它会抛出错误 我尝试过以下方法 我可以使用缓冲区格式 JSON 获取该图像 我无法改变这一点 let image type Buffer da
  • 如何从 Windows 任务管理器(“应用程序”选项卡)获取应用程序及其在 Delphi 硬盘上的位置

    我想获取在 Windows 任务管理器的 应用程序 选项卡 不是 进程 选项卡 中运行和可见的程序列表 并获取它们在 HDD 上的位置 我需要在 Delphi 中完成它 有人可以帮忙吗 据我所知 任务管理器中的 应用程序 选项卡是顶级窗口的
  • 为 DataContractSerializer 预定义 XML 命名空间

    我正在构建一个自托管的 WCF 服务 我正在构建一个特殊的数据结构 以实现非常灵活的数据传输 到目前为止 我测试了我的结构是否可以使用 DataContractSerializer 进行序列化 这工作得很好 我对此很高兴 但有一些事情让我烦
  • 如何将用户定义的对象插入STL集中?

    我正在尝试将对象 Point2D 插入 Point2D 集合中 但我无法做到这一点 该集合似乎适用于 int 和 char 但不适用于对象 我需要帮助来了解如何将对象插入集合中 假设我想按 x 值的升序对它们进行排序 class Point