【共读Primer】5.<1.5> 类简介 Pa…
2018-08-02 05:44:04来源:博客园 阅读 ()
在类的使用之前我们需要了解的三件事情:
1. 类名是什么
2. 它在哪里定义的
3. 它提供了哪些操作
每一个类都是一个新的类型,类名就是类型的名称。
假设我们现在有一个类,名称是Sales_item, 这个类用来表示一本书的总销售额、售出册数、平均售价。
Sales_item item;
上方代码需要表达的意思就是一个对象item,它的类型是Sales_item
那么这个对象可以执行什么操作。
1. 可以调用isbn函数提取书号
2. 用输入输出运算符读写Sales_item对象
3. 使用等号可以将一个对象赋值给另外一个对象
4.使用加号可以将两个对象的数据相加(前提是两个对象表示相同的书)
5. 可以使用+=进行计算
先来看一下如何使用这个类型
1 #include <iostream> 2 #include "Sales_item.h" // 包含对应的类型头文件 这是老王家的信息,我们要去借刀 3 4 int main(int argc, char const *argv[]) 5 { 6 Sales_item book1, book2;// 声明两个对象,名称是book1和book2,类型都是Sales_item 7 std::cout << "Enter transactions:" << std::endl; 8 std::cin >> book1 >> book2;// 从输入流直接将信息写入book1,book2对象 9 std::cout << "Statistical result:\n" << book1 + book2 << std::endl; // 计算两个对象的统计结果并输出 10 return 0; 11 }
在上面的代码中我们看到对类型进行了声明的使用,输入以及输出的使用,下面是一个运行示例
在我们介绍这个类型的过程中还发现有一个isbn的方法,那么这个方法应该如何调用呢
我们来写一段示例代码,看一下如何对这个函数进行调用。
1 #include <iostream> 2 #include "Sales_item.h" // 包含对应的类型头文件 这是老王家的信息,我们要去借刀 3 4 int main(int argc, char const *argv[]) 5 { 6 Sales_item book1, book2;// 声明两个对象,名称是book1和book2,类型都是Sales_item 7 std::cout << "Enter transactions:" << std::endl; 8 std::cin >> book1 >> book2;// 从输入流直接将信息写入book1,book2对象 9 if(book1.ISBN() == book2.ISBN()) // 获取两本书的ISBN编号,看两个是否相等 10 { 11 std::cout << "Statistical result:\n" << book1 + book2 << std::endl; // 计算两个对象的统计结果并输出 12 return 0; 13 } 14 else 15 { 16 std::cerr << "Data must refer to same ISBN" << std::endl; 17 return -1; 18 } 19 }
初学者肯定对这一大堆东西感到无力。
不过没有关系,这些语法以及语言特性严格来说应该已经涵盖到本书一小半的内容了,所以不用害怕。
C++只是提前展示了一下它自己的特色。
特别提示:
本次编译过程中使用道德Sales_item文件并没有在这里贴出来,请大家不要尝试直接编译。
因为这个文件涉及到的C++特性非常多。
所以我会单独有一篇文章进行讲解,当然是以一个有经验的开发者视角来讲解这段代码
文章地址 https://www.cnblogs.com/ChattyKu/p/9400098.html
如果有需要编译的同学,请在讲解文章内复制这段代码
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Unsolved --> Solved OJ思路题解 2020-05-30
- Building & Debugging chromium on CLion for Linu 2020-05-19
- 洛谷P1164->小A点菜 2020-05-18
- 表达式·表达式树·表达式求值 2020-04-29
- STL之<string> 2020-04-05
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash