C++友元函数
地球上一种很神奇的生物——女人,说起。众所周知,女生不愿意让别人知道的两个秘密,一个是年龄,另一个就是体重了(为什么女生不愿意让别人知道她们的年龄和体重,这很重要吗?)。现在,我们根据这个特性,来创建一个MM类。由于,女生不想要让别人知道她们的年龄和体重,也就意味着,这两个变量是private变量,这样,外界就不能随意访问了。现在,开始创建这个类:
class MM
{
private:
int age;
int weight;
public:
MM(int age, int weight){
this->age = age;
this->weight = weight;
}
int getAge(void){
return this->age;
}
int getWeight(void){
return this->weight;
}
};
现在,我们已经有了MM这个类了。既然小编这种写程序的码畜没有对象,那么就基于这个类,来创建一个MM对象。
MM mm;
现在,已经有一个对象了,叫mm。
比如,我们现在其他人想要知道mm的年龄,体重,看一下,她同意吗?
程序报错了。当然会报错,你以为你是谁,想知道她体重就知道她体重,想知道她年龄就知道她年龄,别做梦了,她是不会告诉你的。
但是,难道就真的不能直接得到她的年龄吗?当然不是,只有你走进妹子的内心,成为妹子的人你才拥有了解一切的权利,所以,现在,来写一个,boyfriend函数。一定要在mm的内心认可你是friend哦。在mm类中声明:
friend void boyfriend ( MM boyfriend );
在类内声明这个友元函数之后,我们在类外实现就行了。在友元函数中的对象就具备了解一切的事物了哦。
完整代码如下:
#include <iostream>
using namespace std;
class MM
{
private:
int age;
int weight;
public:
MM(int age, int weight){
this->age = age;
this->weight = weight;
}
int getAge(void){
return this->age;
}
int getWeight(void){
return this->weight;
}
friend void boyfriend(MM boyfriend);
};
void boyfriend(MM boyfriend)
{
cout << boyfriend.age << endl;
cout << boyfriend.weight << endl;
MM object(100,200);
cout << object.age << endl;
cout << object.weight << endl;
}
int main()
{
MM mm(100, 99);
boyfriend(mm);
system("pause");
return 0;
}
这篇文章,我觉得已经写的比较的通俗易懂了,希望看完这篇文章的小伙伴们,各位大佬们,能顺手点个赞,表示支持。谢谢!相关的C++视频教程,大家可以关注下小编的专栏:《C++45课视频教程》