说我有这样的一个类
class foo
{
public:
char* operator+ () //unary operator - prefix before instance
{
return "SomeChar";
}
};
现在我可以这样使用
foo d;
std::cout << +d; //unary operator used as prefix allowed
现在,如果我想将一元运算符用作后缀,则根据this页面
我正在使用+而不是++,因为两者都是一元运算符
我可以执行以下操作
class foo
{
public:
char* operator+ () //unary operator - prefix before instance
{
return "SomeChar";
}
//Added this for postfix unary operation
char* operator+ (int) //unary operator - postfix before instance
{
return "SomeChar";
}
};
但是,此(后缀)不起作用
foo d;
std::cout << (d+) ; //unary operator used as post fix ERROR (Expected an expression)
关于这个问题有什么建议/评论吗?
最佳答案
+
不能是后缀运算符。仅++
和--
可以。
关于c++ - 为后缀重载一元运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26011981/