设为首页 加入收藏

TOP

1.5.2 初识成员函数
2013-10-07 16:25:44 来源: 作者: 【 】 浏览:93
Tags:1.5.2 初识 成员 函数

1.5.2  初识成员函数

将两个Sales_item对象相加的程序首先应该检查两个对象是否具有相同的ISBN。方法如下:
 

  1. #include <iostream> 
  2. #include "Sales_item.h"  
  3. int main()  
  4. {  
  5.     Sales_item item1, item2;  
  6.     std::cin >> item1 >> item2;  
  7.     // 首先检查item1和item2是否表示相同的书  
  8.     if (item1.isbn() == item2.isbn()) {  
  9.         std::cout << item1 + item2 << std::endl;  
  10.         return 0;   // 表示成功  
  11.     } else {  
  12.     std::cerr << "Data must refer to same ISBN"  
  13.                << std::endl;  
  14.     return -1;      // 表示失败  
  15.     }  

此程序与上一版本的差别是if语句及其else分支。即使不了解这个if语句的检测条件,我们也很容易理解这个程序在干什么。如果条件成立,如上一版本一样,程序打印计算结果,并返回0,表明成功。如果条件失败,我们执行跟在else之后的语句块,打印一条错误信息,并返回一个错误标识。

什么是成员函数?

这个if语句的检测条件

  1. item1.isbn() == item2.isbn() 

调用名为isbn的成员函数(member function)。成员函数是定义为类的一部分的函数,有时也被称为方法(method)。

我们通常以一个类对象的名义来调用成员函数。例如,上面相等表达式左侧运算对象的第一部分
 

  1. item1.isbn() 

使用点运算符(.)来表达我们需要"名为item1的对象的isbn成员"。点运算符只能用于类类型的对象。其左侧运算对象必须是一个类类型的对象,右侧运算对象必须是该类型的一个成员名,运算结果为右侧运算对象指定的成员。

当用点运算符访问一个成员函数时,通常我们是想(效果也确实是)调用该函数。我们使用调用运算符(())来调用一个函数。调用运算符是一对圆括号,里面放置实参(argument)列表(可能为空)。成员函数isbn并不接受参数。因此
 

  1. item1.isbn() 

调用名为item1的对象的成员函数isbn,此函数返回item1中保存的ISBN书号。

在这个if条件中,相等运算符的右侧运算对象也是这样执行的--它返回保存在item2中的ISBN书号。如果ISBN相同,条件为真,否则为假。

1.5.2节练习

练习1.23:编写程序,读取多条销售记录,并统计每个ISBN(每本书)有几条销售记录。

练习1.24:输入表示多个ISBN的多条销售记录来测试上一个程序,每个ISBN的记录应该聚在一起。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇1.4.4 if语句 下一篇2.1.1 算术类型(1)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis 分布式锁全解 (2025-12-25 17:19:51)
·SpringBoot 整合 Red (2025-12-25 17:19:48)
·MongoDB 索引 - 菜鸟 (2025-12-25 17:19:45)
·What Is Linux (2025-12-25 16:57:17)
·Linux小白必备:超全 (2025-12-25 16:57:14)