友元会将类的内部暴露给其他类或函数

2014-11-24 02:32:49 · 作者: · 浏览: 1
#include 
#include 

using namespace std;
//提前声明类
class studentTwo;

//可以当做一个普通类
class studentOne
{
private:
	int _num;
	string _name;
public:
     //构造函数和普通函数除了返回值得区别
	studentOne(int num,string name):_num(num),_name(name){}
	//传递参数是另外类的引用  声明函数加 ;  不要{}
	void display(studentTwo &);
};

class studentTwo
{
private :
	int _num;
	string _name;
public :
	studentTwo(int num,string name):_num(num),_name(name){}
	//要调用另外一个类中函数  可以申明为友元函数  不过将类对象传递过去
	friend void studentOne::display(studentTwo &);
};
//友元函数的定义
void studentOne::display(studentTwo &two)
{
   cout<<"two  name  num: "<