是否可以将对象分配给int? [英] Is it possible to assign object to int?
本文介绍了是否可以将对象分配给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屋!
查看全文