我的友元函数无法访问类的私有成员
#include<iostream>
using namespace std;
class teacher
{
public:
teacher()
{
int num=0;
}
~teacher();
friend void fn(student&,teacher&);
protected:
int num;
};
class student
{
public:
student()
{
int num=0;
}
~student();
friend void fn(student&,teacher&);
protected:
int num;
};
void fn(student&a,teacher&b)
{
cin>>a.num;
cin>>b.num;//error:成员"teacher::num不可访问"cout<<a.num+b.num<<endl;//error:成员"teacher::num不可访问"}
int main()
{
student a;
teacher b;
}
[解决办法]
这个能编译通过吗?
错误了好多地方,构造函数中int num=0; 这里的int应该不要,析构函数没有实现
友元函数声明的时候student这个class还没有声明,编译无从知道这是什么东西