注册 登录
编程论坛 C++教室

友元函数不能访问私有成员和结构歧义

domore 发布于 2019-09-19 06:51, 2334 次点击
只有本站会员才能查看附件,请 登录

这里的友元函数为什么不能访问私有成员?哪里结构歧义了  怎么改
#include<iostream>
using namespace std;
class Complex
    {public:
        Complex(){real=0;imag=0;}
        Complex(double r,double i){real=r;imag=i;}
        Complex operator+(Complex &c2);
        friend ostream &operator<<(ostream &,Complex &);
     private:
        double real;
        double imag;
};
Complex Complex::operator+(Complex &c2)
    {return Complex(real+c2.real,imag+c2.imag);}
ostream &operator<<(ostream &output,Complex &c)
    {output<<"("<<c.real<<"+"<<c.imag<<"i)"<<endl;
     return output;
    }
int main()
{Complex c1(2,4),c2(6,10),c3;
c3=c1+c2;
cout<<c3;
return 0;
}
3 回复
#2
rjsp2019-09-19 08:35
为什么要用如此古老的 VC6 ?
除了考古学家和盗墓贼,研究它的意义何在?
#3
domore2019-09-19 22:04
回复 2楼 rjsp
度娘说学c++用vc6.0比较好吗 我是萌新  大佬有什么建议
#4
rjsp2019-09-20 08:23
回复 3楼 domore
尽量用 gcc/clang 等编译器,
如果喜欢用 VC++,那也应该用最新版本,比如 VC++2019
1