有元是什么?

有元
 
我们来想一下上帝是怎么造人的,我这里造人的方式有点不太一样。
先来创建一个人,我这要让这个人有钱,这个人还可以花他的钱,并可以让我们知道他还有多少钱。
我们把在这个类起名为“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 了。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值