是否可以将对象分配给int? [英] Is it possible to assign object to int?

查看:78
本文介绍了是否可以将对象分配给int?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个CCounter类,该类保存并具有由互斥锁保护的整数值.我已经定义了多个运算符,例如post/pre inc/dec返回一个整数,所以我可以这样做:

I have a CCounter class which holds and integer value protected by mutex. I've defined several operators like post/pre inc/dec returning an integer so I can do:

CCounter c(10);
int i = c++;

但是如何处理像i = c这样的简单任务呢?我试图定义朋友operator =,但是它给了我

but what do I do with a simple assignment like i = c ? I tried to define friend operator= but it gives me

operator=(int&, const CCounter&)’ must be a nonstatic member function

错误.请指教.谢谢.

推荐答案

您需要定义一个从CCounter转换为int的转换运算符.将此成员添加到您的班级:

You need to define a casting operator that casts from CCounter to int. Add this member to your class:

operator int() const {
  return ...;
}

这篇关于是否可以将对象分配给int?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆