C++学习第8课,友元函数

2019-06-09  本文已影响0人  Mr小熊_1da7

0 先上代码


#include <iostream>

using namespace std;

class Port {

private:

int x;

int y;

public:

Port(){}

Port(int x,int y):x(x),y(y){}

~Port(){}

friend void setPort(Port &per,int x,int y);

friend int get_x(Port &per);

friend int get_y(Port &per);

};

void setPort(Port &per,int x,int y)

{

per.x = x;

per.y = y;

}

int get_x(Port &per)

{

return per.x;

}

int get_y(Port &per)

{

return per.y;

}

int main(int argc, char **argv)

{

Port per(1,2);

cout << "x = "<<get_x(per)<<", y = "<<get_y(per)<<endl;

setPort(per,2,3);

cout << "x = "<<get_x(per)<<", y = "<<get_y(per)<<endl;

return 0;

}


1 存在的原因

由于不同的函数无法修改类的私有参数,于是如果需要使用类的私有参数,就需要定义很多的公有函数,作为参数修改的方法。

友元函数可以直接调用类的私有参数的。

2 友元函数的使用。

友元函数的申明和定义和调用和普通函数一模一样。

*不过需要在类里说明,该函数为类的友元函数。

friend void setPort(Port &per,int x,int y);

friend int get_x(Port &per);

friend int get_y(Port &per);

上一篇下一篇

猜你喜欢

热点阅读