为啥把友元和多态放在一起,因为多态里的重载正好用到友元了。
友元:
第一部分:函数的友元
#include <iostream>
using namespace std;
class A
{
public:
A()
{
a=1;
}
friend A show(A &x) //要注意的点在于friend不是用来定义函数类型的,依旧得写void。<span style="white-space:pre"> </span>其次要注意加上&这个符号。
{
cout<<x.a<<endl;
}
private:
int a;
};
int main()
{
A a;
show(a);<span style="white-space:pre"> </span>//友元可以直接当作函数调用,但是括号里面要写类。
}
第二部分:类的友元(个人感觉作用不大,因为用继承就行了,这个很麻烦,逻辑我说不明白。)
#include <iostream>
using namespace std;
class A
{
public:
A()
{
a=1;
}
friend class B;
private:
int a;
};
class B
{
public:
void s