我很新手C++,在学习它时遇到了问题。
所以我创建了这个类:
class A {
int num;
public:
//constructor
A(int num) {
this->num = num;
}
int getNum() {
return num;
}
//overload <<
friend ostream& operator << (ostream& os,A& a) {
os << a.getNum();
return os;
}
};
在主函数中,如果我使用
cout<< A(1);
,它将无法编译(在Visual Studio 2017中出现代码C2679错误)。我该如何让它像cout<< int(1);
这样工作?我需要重载其他运算符吗?