有元是什么?

来源:互联网 发布:继续教育网络平台 编辑:程序博客网 时间:2024/04/29 10:08
有元
 
我们来想一下上帝是怎么造人的,我这里造人的方式有点不太一样。
先来创建一个人,我这要让这个人有钱,这个人还可以花他的钱,并可以让我们知道他还有多少钱。
我们把在这个类起名为“People”,在这个类中,声明了一个私有的变量“money”,用来保存People所拥有的钱数;我创建了两个构造函数,初始化Pelple的私有成员“money”;两个公开函数——“Spend”用来花掉money中的钱;“HowMuch”用来告诉我们People还有多少钱。
下面我们来应用它,先声明一个People对象“p”,初始了money为400。
之后调用p的Spend方法,花掉了40。
让p的HowMuch方法,让它告诉我们p还有多少钱。
上帝可以创造人,当然也可以让人一下子变成富翁。如何让人变成富翁呢?我们得先来造一个上帝,让这个上帝把人变富。
上帝的类名当然要用“God”,在这里我定义了一个成员函数为“MakeRich”。
“MakeRich”就是让人变富的工具,在这里我让人的money一下子变得很多。要注意的是,这个函数的参数,我用了“People&”。
好了,“God”类也定义完成了。编译一下吧。结果,编译出错。
“money”是People的私有成员,是不可以被类以外操作。
那怎么办呢,我还想用它?
这时候“friend”就排上用场上。
我们在“People”的定义中,加上这样一段代码“friend God;”。它告诉“People”类,“God”是它的“友元”朋友。这个“友元”朋友可以操作“People”类的私有成员。
我们再来编译,结果,还是编译出错。
friend不允许写在类成员声明之前。也就是说“God”还未声明,就被“People”使用了。
怎么办呢?我们在“People”的声明定义之前先来对“God”作个声明(“class God;”),告诉编译器“God”类的存在。再来编译。OK了。
 
原创粉丝点击