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