“friend声明友元函数,友元函数却依旧无法访问该类的私有属性”的解决
一次C++作业题, 搞了很久弄明白了, 虽然成功了, 但VS2015依旧有红线提示错误, 不过不影响编译、运行, 这似乎是VS自身的一个BUG。
解决:
友元类方法小结:
1. 包含声明”friend”的类,必须在((包含其声明的友元函数)的那个类)之前事先声明下————因为在Employer类中用到”Employee&”,不然无法访问该引用的私有成员。
2. 被声明为友元的函数,必须在类内声明,然后在将其声明为友元函数的类的后面定义。
3. 还有一个我个人犯的低级错误——在声明友元函数时,忘记加该函数的作用域了。。。
作业代码如下:
#include < iostream >
#include < string >
using namespace std;
class Employee;
class Employer
{
public:
Employer(