小白在写成员函数做友元时候遇到的问题


#include<iostream>
#include<string>
using namespace std;


class Person {
	
	friend void PP::visit();
private:
	string name;
public:
	Person();
};


//Person构造函数
Person::Person() {
	name = "Wang!";
}



class PP {
public:
	PP();
	Person* p;
	void visit();
};

//PP构造函数
PP::PP() {
	p = new Person;
}


//PP内的 visit 函数实现
void PP::visit() {

	cout << p -> name << endl;
}

最后显示 p->name 无法访问!!(如图)

求大佬们帮忙看一看 

定义成

friend class PP;

 

最后name 无法访问