c++Primer学习笔记之三:c++快速入门_2

接上一节。


控制语句

后面的if、while、for语句和我们常见的条件、循环控制语句实现的功能是一样,这里就不再一一介绍了

值得提一下的是,使用while语句可以实现读入未知数目的输入

while (std::cin>>trans)

在遇到文件结束符(或一些其他输入错误)之前,测试会成功并且执行 while 循环体。循环体是一条使用复合赋值操作符的语句,这个操作符将它的右操作数加到左操作数上。 


一旦测试失败,while 终止并退出循环体,执行 while 之后的语句。那么怎么判断文件输入结束呢,

不同的操作系统使用不同的值作为文件结束符。Windows 系统下我们通过键入control—z——同时键入“ctrl”键和“z”键,来输入文件结束符。Unix 系统中,包括 Mac OS—X 机器,通常用 control—d。 


我们新定义了一个Sales_item类

正如我们所看到的,使用像 IO 一样的库工具,必须包含相关的头文件。类似地,对于自定义的类,必须使得编译器可以访问和类相关的定义。这几乎可以采用同样的方式。一般来说,我们将类定义放入一个文件中,要使用该类的任何程序都必须包含这个文件。 


依据惯例,类类型存储在一个文件中,其文件名如同程序的源文件名一样,由文件名和文件后缀两部分组成。通常文件名和定义在头文件中的类名是一样的。通常后缀是 .h,但也有一些程序员用 .H、.hpp 或 .hxx。编译器通常并不挑剔头文件名,但 IDE 有时会。假设我们的类定义在名为 Sale_item.h 的文件中。

#include "Sales/Sales_item.h"

《c++Primer》中用到的头文件下载地址:http://www.ituring.com.cn/book/656

点击其中的随书下载。

每个类定义一种类型,类型名与类名相同。因此,我们的 Sales_item 类定义了一种命名为 Sales_item 的类型。像使用内置类型一样,可以定义类类型的变量。当写下 

Sales_item item; 
就表示 item 是类型 Sales_item 的一个对象。通常将“类型 Sales_item 的一个对象”简称为“一个 Sales_item 对象”,或者更简单地简称为“一个 Sales_item”。


成员函数

上述c++函数if语句的条件

if (total.same_isbn(trans))
调用命名为total的 Sales_item 对象的成员函数。成员函数是由类定义的函数,有时称为类方法。

 
成员函数只定义一次,但被视为每个对象的成员。我们将这些操作称为成员函数,是因为它们(通常)在特定对象上操作。在这个意义上,它们是对象的成员,即使同一类型的所有对象共享同一个定义也是如此。 


当调用成员函数时,(通常)指定函数要操作的对象。语法是使用点操作符(.): 

total.same_isbn
意思是“命名为 total 的对象的 same_isbn 成员”。点操作符通过它的左操作数取得右操作数。点操作符仅应用于类类型的对象:左操作数必须是类类型的对象,右操作数必须指定该类型的成员。 


与大多数其他操作符不同,点操作符(“.”)的右操作数不是对象或值,而是成员的名字。 


通常使用成员函数作为点操作符的右操作数来调用成员函数。执行成员函数和执行其他函数相似:要调用函数,可将调用操作符(())放在函数名之后。调用操作符是一对圆括号,括住传递给函数的实参列表(可能为空)。 


same_isbn 函数接受单个参数,且该参数是另一个 Sales_item 对象。函数调用 

total.same_isbn(trans)
将 trans 作为参数传递给名为 same_isbn 的函数,该函数是名为 total的对象的成员。它将比较参数 trans 的 ISBN 与函数 same_isbn 要操作的对象total的 ISBN。效果是测试两个对象是否具有相同的 ISBN。 


如果对象具有相同的 ISBN,执行 if 后面的语句;否则,如果对象具有不同的 ISBN,则执行 else 分支的语句块。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值