美文网首页
C++学习第8课,友元函数

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

作者: Mr小熊_1da7 | 来源:发表于2019-06-09 23:44 被阅读0次

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);

相关文章

  • C++语言基础(03)

    1.内存分配 C/C++ 内存分区: java 创建对象 2.常函数 3.友元函数和友元类 友元函数 友元类 4....

  • c++语法2

    接上篇我们继续学习静态成员、友元函数、继承、多重继承,继承访问权限等 静态成员与友元函数:c++中静态成员与jav...

  • 10-C++远征之模板篇-学习笔记

    C++远征之模板篇 将会学到的内容: 模板函数 & 模板类 -> 标准模板类 友元函数 & 友元类 静态数据成员 ...

  • 慕课网-C++远征之模板篇(上)-学习笔记

    C++远征之模板篇 将会学到的内容: 模板函数 & 模板类 -> 标准模板类 友元函数 & 友元类 静态数据成员 ...

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

    0 先上代码 #include using namespace std; class Port { private...

  • 2001.C++BASE-friend(友元)

    转:关于C++中的友元函数的总结 1.友元函数的简单介绍 1.1为什么要使用友元函数 在实现类之间数据共享时,减少...

  • 【C++】C++学习笔记之五:友元

    在类中有一种函数声明前加friend关键字的函数声明方式,这种函数被称为C++类的友元函数 1. 友元的作用——破...

  • c++ 友元

    在c++中,通过关键字friend声明为友元。友元可以范围与其有好友关系的类中私有成员。友元包括友元函数和友元类。...

  • 7. C++友元函数和友元类

    7.1 友元函数 C++只有本类中的函数可以访问本类的 private 成员。 但一种情况例外,那就是友元(fri...

  • c++友元函数

    友元函数是可以直接访问类的私有成员的非成员函数。 它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以...

网友评论

      本文标题:C++学习第8课,友元函数

      本文链接:https://www.haomeiwen.com/subject/okjoxctx.html