优雅的方式了解每个程序

来源:互联网 发布:mplayer 1.3 windows 编辑:程序博客网 时间:2024/06/05 04:00
我写了一个程序,使这篇教程的例子在一个地方,遇到了一个问题,一个烦恼。这两个我认为我已经解决了,所以这是更多的故事比帮助请求,虽然如果有一个更优雅的方式去了解它,我会很高兴听到。

dateandweather gettoday()
{
DateAndWeather(真正的回报,
GetValue(“什么月呢?”),
GetValue(“今天是什么日子吗?”),
GetValue(“是什么年呢?”),
GetValue(“什么是低温这一天吗?”),
GetValue(“什么是高温的这一天?”));
}
无效fillarray(dateandweather *数据数组的大小)
{
为(int count = 0;计数<尺寸;计数+ +)
[数] = gettoday() DPTR;
}
是只打印字符串并返回整数的响应。DateAndWeather是一类整数值和获取/设置功能。main()曾用getValue取得规模,并声称新一dateandweather数组大小。
我的烦恼是那些问题被问出来了。它发生在我,因为这是唯一的方式,在我的程序中的数据,我可以只翻转的问题和我的构造函数参数的顺序。
这个问题我花了一个半小时,我的头对我的键盘,是我在我的类包括一个身份发生器,但被分配太高的。因此,对于3个条目,他们会被列为4天,5,和6。最终让我认为发生的事情是我在GetToday产生的匿名变量去我的构造函数,有一个新的ID,并覆盖一个DPTR [数]有当它被初始化,主要。所以我的新的构造函数看起来像这样:

DateAndWeather::DateAndWeather(bool类型的垃圾,nmonth int int int,星期,nyear,int int的低、高)
{
setdateandtemps(nmonth,星期,nyear,低、高);
如果(垃圾)
m_nid = s_nidgenerator + +;
}
main()不发送任何在类声明的原型,将其设置为默认假,所以增加只发生在gettoday的匿名变量调用它。

我想.它现在的工作,在任何情况下。

你说的对,我_could_写你的注意,但是这节课的目的是告诉你一个简单的例子,一个匿名对象可以用来代替一个临时变量。
它可能会更有意义,写函数()是一个重载版本运营商+。当我重写这一课的时候,我会这样做的。
如果你用下面的替换功能():

美分操作符+(美分和C1、C2分)
{
返回美分(C1,C2 getcents() +。getcents());
}
我想你会同意,这是很好的,能够写:

仙ccentssum = ccents1 + ccents2;/我不知道怎么分钱了
而不是使用getcents()访问函数来做这个:

仙ccentssum =(ccents1。getcents() + ccents2。getcents());/ /我知道我可以从其他的整数部分构建一个美分美分
>我相信这个例子的教程中你第一次实例化一个类,然后通过另一个对象(2)的同一类是参数。
没有发生这样的事情!()的函数(或重载操作符+评论)不是一个成员函数,所以我没有通过任何一类我只是实例化。
()函数(或重载操作符+评论)只需要在同一类的类型的两个对象,并返回一个(匿名),返回给调用者的对象类型。

1 0