我有一个CCounter类,其中包含由互斥锁保护的整数值.我已经定义了几个运算符,比如post/pre inc/dec返回一个整数,所以我可以这样做:
CCounter c(10);
int i = c++;
Run Code Online (Sandbox Code Playgroud)
但是我怎么做一个简单的任务i = c呢?我试图定义friend operator =但它给了我
operator=(int&, const CCounter&)’ must be a nonstatic member function
错误.请指教.谢谢.
class phone {
public:
phone(int x) { num = x; }
int number(void) { return num; }
void number(int x) { num = x; }
private:
int num;
};
int main(void)
{
phone p1(10);
p1 = 20; // here!
return 0;
}
Run Code Online (Sandbox Code Playgroud)
嗨,大家好
我刚刚宣布了一个类似上面的简单类.
之后我将int值赋给了该类的对象,然后就可以了!
(我打印了它的价值.它存放得当)
如果没有带有int参数的构造,则发生编译错误.
所以,我认为它与构造函数有关.是对的吗?
请给我一个很好的解释.
谢谢.