不是一个真正的大问题,但我想知道当涉及到类中的朋友函数时,IntelliSense 是否搞砸了?
我有一个使用 ostream 和 istream (<<, >>) 的重载运算符的类,并且我在我的类中将它们标记为友元函数。所以理论上他们应该可以访问类的私有成员。该程序编译并运行良好,没有错误 - 但随着我继续编写代码,IntelliSense 不断报告成员函数无法访问这些函数。它仍然可以编译,但我想知道这是否是 IntelliSense 的问题或我的问题,而我碰巧很幸运它正在运行?
friend std::ostream & operator <<(std::ostream &, const Rational &);
friend std::istream & operator >>(std::istream &, Rational &);
std::ostream & operator <<(std::ostream & outs, const Rational & source)
{
outs << source.itsNum << '/' << source.itsDen;
return outs;
}
std::istream & operator >>(std::istream & ins, Rational & target)
{
ins >> target.itsNum >> target.itsDen;
return ins;
}