什么是友元?

什么是友元?,第1张

友元函数就是以friend开头的一种破坏类的封装性的一种用法

友元类的私有和保护成员在类外不可以使用

设计了一个后门,通过友元函数可以访问该对象的受限成员

1。该函数放在类内类外声明均可

2。需要通过类的对象访问

如 friend void test(Base & b)

通过b来访问成员

多用于重载 *** 作符,尽量不要用它提供 *** 作受限数据的函数,那样受限就没有意义了

A,B类的定义顺序需要交换一下,另外,A类中的

friend void display(A &t);

需要改为

friend void B::display(A &t);

整个代码改正这样试试:

#include<iostream>

using namespace std;

class A;

class B

{

private:

int a;

int b;

public:

B();

void display(A &t);

};

class A

{

private:

int a;

int b;

public:

friend void B::display(A &t);

A()

{

a = 5;

b = 8;

}

};

B::B()

{

a = 1;

b = 2;

}

void B::display(A &t)

{

cout << ta << endl << tb << endl;

cout << a << endl << b << endl;

}

int main()

{

class A a1;

class B b1;

b1display(a1);

system("PAUSE");

return 0;

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/11676291.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存